/* ============================================================
   كيان — التصميم المشترك لكل صفحات الموقع
   ============================================================ */
@font-face{font-family:"Thmanyah Sans";src:url("../fonts/thmanyahsans-Regular.otf") format("opentype");font-weight:400;font-display:swap;}
@font-face{font-family:"Thmanyah Sans";src:url("../fonts/thmanyahsans-Medium.otf") format("opentype");font-weight:500;font-display:swap;}
@font-face{font-family:"Thmanyah Sans";src:url("../fonts/thmanyahsans-Bold.otf") format("opentype");font-weight:700;font-display:swap;}
@font-face{font-family:"Thmanyah Sans";src:url("../fonts/thmanyahsans-Black.otf") format("opentype");font-weight:900;font-display:swap;}

:root{--ink:#25262a;--ink-soft:#5b5d63;--line:#e4e6ea;--paper:#ffffff;--tint:#f4f7fa;--tint-deep:#eef2f6;--accent:#00AEEF;--radius:20px;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Thmanyah Sans",system-ui,sans-serif;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,p{margin:0;}
::selection{background:#00AEEF33;}
section[id], footer[id]{scroll-margin-top:90px;}
.container{width:100%;max-width:1240px;margin:0 auto;padding-inline:32px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;border:2px solid transparent;white-space:nowrap;transition:transform .15s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--accent);color:#ffffff;}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-dark{background:var(--ink);color:#ffffff;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, white);padding:8px 16px;border-radius:999px;}
.eyebrow.plain{background:transparent;padding:0;}
.section-head{max-width:640px;}
.section-head.center{margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center;}
.section-head h2{font-size:clamp(28px,3.2vw,40px);font-weight:900;line-height:1.25;}
.section-head p{margin-top:14px;font-size:17px;line-height:1.8;color:var(--ink-soft);}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);}

/* ---------- الهيدر ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:18px;flex-wrap:wrap;}
.site-nav{display:flex;align-items:center;gap:28px;}
nav a.navlink{font-size:15px;font-weight:500;color:var(--ink-soft);}
nav a.navlink:hover, nav a.navlink.active{color:var(--ink);}
nav a.navlink.active{font-weight:700;}

.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-footer{grid-template-columns:1.3fr 1fr 1fr 1fr;}
@media (max-width:1100px){ .site-nav{gap:20px;} }
@media (max-width:900px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid-footer{grid-template-columns:repeat(2,minmax(0,1fr));}
  .container{padding-inline:24px;}
  nav.site-nav{display:none;}
}
@media (max-width:640px){
  .grid-3, .grid-2{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:1fr;}
  .grid-footer{grid-template-columns:1fr;gap:28px;text-align:center;}
  .grid-footer > div{align-items:center;}
  .container{padding-inline:16px;}
  .hero-text{min-width:0 !important;}
}

/* ---------- بطاقات الصفحة الرئيسية ---------- */
.partner-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 22px;display:flex;align-items:center;justify-content:center;height:132px;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.partner-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));box-shadow:0 20px 44px -20px color-mix(in srgb, var(--accent) 55%, transparent);}
.partner-card img{max-height:66px;max-width:78%;width:auto;object-fit:contain;position:relative;z-index:1;}
.partner-card::after{content:"";position:absolute;top:0;left:-160%;width:55%;height:100%;background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.85) 50%, transparent 100%);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none;}
.partner-card:hover::after{left:160%;}
.testimonial-card{position:relative;overflow:hidden;background:#fff;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;}
.testimonial-card:hover{transform:translateY(-6px);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, white);box-shadow:0 22px 46px -22px color-mix(in srgb, var(--accent) 55%, transparent);}
.service-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.service-card:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 20px 44px -22px color-mix(in srgb, var(--accent) 45%, transparent);}
.service-card .more{margin-top:auto;padding-top:6px;display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--accent);}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:14px;font-weight:700;color:var(--ink);}
.field label .req{color:#dc2626;}
.field input, .field select, .field textarea{font-family:inherit;font-size:15px;padding:13px 16px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);outline:none;width:100%;transition:border-color .2s ease, box-shadow .2s ease;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent);}
.field textarea{resize:vertical;min-height:120px;font-family:inherit;}
.pkg{border-radius:var(--radius);padding:34px;display:flex;flex-direction:column;gap:22px;position:relative;background:#2f3036;border:1px solid #40414a;}
.pkg.featured{background:var(--accent);border-color:var(--accent);}
.pkg .pkg-sub, .pkg .pkg-cur, .pkg .pkg-scope{color:#a9abb3;}
.pkg.featured .pkg-sub, .pkg.featured .pkg-cur, .pkg.featured .pkg-scope{color:#eaf8ff;}

/* ---------- شركاء المنصات ---------- */
.platforms{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:36px;}
.platform{display:flex;align-items:center;justify-content:center;gap:10px;min-width:170px;height:84px;padding:14px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .25s ease, border-color .25s ease;}
.platform:hover{transform:translateY(-4px);border-color:var(--accent);}
.platform img{max-height:44px;max-width:150px;object-fit:contain;}
.platform b{font-size:17px;font-weight:900;}
.platform small{display:block;font-size:11.5px;font-weight:600;color:var(--ink-soft);}
.platform .pf-text{display:flex;flex-direction:column;line-height:1.3;}

/* ---------- معرض الأعمال ---------- */
.pf-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px;}
.pf-filter{font-family:inherit;font-size:14px;font-weight:700;padding:9px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);}
.pf-filter.active{border-color:var(--ink);background:var(--ink);color:#fff;}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;}
.pf-item{position:relative;display:block;border-radius:18px;overflow:hidden;background:var(--tint);aspect-ratio:4/3;border:none;padding:0;width:100%;cursor:zoom-in;}
.pf-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.pf-item:hover img{transform:scale(1.05);}
.pf-cap{position:absolute;inset:auto 0 0 0;padding:40px 16px 14px;background:linear-gradient(transparent, rgba(20,21,24,.82));color:#fff;text-align:start;}
.pf-cap b{display:block;font-size:15px;}
.pf-cap small{font-size:12.5px;opacity:.85;}
.lightbox{position:fixed;inset:0;z-index:150;background:rgba(10,10,12,.9);display:none;align-items:center;justify-content:center;padding:20px;flex-direction:column;gap:14px;}
.lightbox.show{display:flex;}
.lightbox img{max-width:100%;max-height:78vh;border-radius:12px;object-fit:contain;}
.lightbox .lb-cap{color:#fff;text-align:center;max-width:720px;line-height:1.8;}
.lightbox .lb-cap b{font-size:18px;display:block;}
.lightbox .lb-cap span{font-size:14px;opacity:.85;}
.lb-btn{position:absolute;width:46px;height:46px;border-radius:999px;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;}
.lb-close{top:18px;left:18px;}
.lb-prev{right:18px;top:50%;}
.lb-next{left:18px;top:50%;}
@media (max-width:900px){ .pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .pf-grid{grid-template-columns:1fr;} .lb-prev,.lb-next{top:auto;bottom:18px;} }

/* ---------- الأسئلة الشائعة ---------- */
.faq-list{max-width:820px;margin:40px auto 0;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;font-size:16.5px;font-weight:700;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";flex-shrink:0;width:30px;height:30px;border-radius:999px;background:var(--tint);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:400;color:var(--accent);transition:transform .2s ease;}
.faq-item[open] summary::after{content:"−";}
.faq-item[open]{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));}
.faq-item p{padding:0 22px 20px;font-size:15px;line-height:1.9;color:var(--ink-soft);white-space:pre-line;}

/* ---------- صفحات داخلية ---------- */
.page-hero{padding:72px 0 40px;text-align:center;}
.page-hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:900;line-height:1.2;}
.page-hero p{margin:16px auto 0;max-width:620px;font-size:18px;line-height:1.85;color:var(--ink-soft);}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;}
.member{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease;}
.member:hover{transform:translateY(-5px);box-shadow:0 22px 46px -24px rgba(37,38,42,.3);}
.member-photo{aspect-ratio:1;background:var(--tint);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.member-photo img{width:100%;height:100%;object-fit:cover;}
.member-photo span{font-size:54px;font-weight:900;color:var(--accent);}
.member-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;}
.member-body b{font-size:18px;}
.member-body .role{font-size:14px;font-weight:700;color:var(--accent);}
.member-body p{font-size:14px;line-height:1.8;color:var(--ink-soft);}
.member-social{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.member-social a{width:36px;height:36px;border-radius:999px;background:var(--tint);display:flex;align-items:center;justify-content:center;}
.member-social a:hover{background:color-mix(in srgb, var(--accent) 15%, white);}

.jobs{display:flex;flex-direction:column;gap:14px;}
.job{background:#fff;border:1px solid var(--line);border-radius:18px;}
.job summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;flex-wrap:wrap;}
.job summary::-webkit-details-marker{display:none;}
.job summary b{font-size:18px;}
.job-meta{display:flex;gap:8px;flex-wrap:wrap;}
.job-meta span{font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--tint);color:var(--ink-soft);}
.job-body{padding:0 22px 22px;font-size:15px;line-height:1.9;color:var(--ink-soft);}

.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.post-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease, border-color .25s ease;}
.post-card:hover{transform:translateY(-5px);border-color:var(--accent);}
.post-cover{aspect-ratio:16/9;background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 30%, white), var(--tint));overflow:hidden;display:flex;align-items:center;justify-content:center;}
.post-cover img{width:100%;height:100%;object-fit:cover;}
.post-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.post-meta{font-size:12.5px;font-weight:700;color:var(--accent);}
.post-body h3{font-size:18px;font-weight:800;line-height:1.5;}
.post-body p{font-size:14.5px;line-height:1.8;color:var(--ink-soft);}
@media (max-width:900px){ .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .blog-grid{grid-template-columns:1fr;} }

.article{max-width:760px;margin:0 auto;}
.article-cover{width:100%;border-radius:22px;margin:30px 0 10px;aspect-ratio:16/9;object-fit:cover;}
.article-body{font-size:17.5px;line-height:2;color:#34363b;}
.article-body h2{font-size:26px;font-weight:900;margin:36px 0 12px;color:var(--ink);line-height:1.4;}
.article-body h3{font-size:21px;font-weight:800;margin:28px 0 10px;color:var(--ink);}
.article-body p{margin:0 0 18px;}
.article-body ul{margin:0 0 18px;padding-inline-start:24px;}
.article-body li{margin-bottom:6px;}
.article-body a{color:var(--accent);text-decoration:underline;}
.share{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);font-weight:700;}
.share a{padding:9px 16px;border-radius:999px;background:var(--tint);font-size:14px;}

/* ---------- نوع الطلب (حجز / استفسار / شكوى / اقتراح) ---------- */
.req-types{display:flex;flex-wrap:wrap;gap:8px;}
.req-type{position:relative;cursor:pointer;}
.req-type input{position:absolute;opacity:0;pointer-events:none;}
.req-type span{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:14.5px;font-weight:700;color:var(--ink-soft);transition:all .15s ease;}
.req-type input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff;}
.req-type input:focus-visible + span{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent);}
.booking-only.is-hidden{display:none;}
/* نوع الطلب (أولوية أعلى من .field input) */
.field .req-type input{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0;pointer-events:none;}
.field .req-types{flex-direction:row;}

/* ---------- تقويم اختيار التاريخ ---------- */
.kdate{position:relative;}
.kdate-btn{width:100%;display:flex;align-items:center;gap:10px;font-size:15px;padding:13px 16px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);text-align:start;transition:border-color .2s ease, box-shadow .2s ease;}
.kdate-btn svg{flex-shrink:0;color:var(--accent);}
.kdate.has-value .kdate-btn{color:var(--ink);font-weight:700;}
.kdate-btn:focus-visible, .kdate.open .kdate-btn{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent);}
.kdate-pop{position:absolute;z-index:40;top:calc(100% + 8px);inset-inline-start:0;width:min(340px, calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 50px -12px rgba(20,24,36,.28);padding:16px;animation:kdateIn .16s ease-out;}
@keyframes kdateIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.kdate-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;}
.kdate-head b{font-size:15.5px;font-weight:800;}
.kdate-nav{width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0;}
.kdate-nav:hover:not(:disabled){background:var(--tint);}
.kdate-nav:disabled{opacity:.3;cursor:default;}
.kdate-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.kdate-dow{font-size:11.5px;font-weight:700;color:var(--ink-soft);text-align:center;padding:4px 0 6px;}
.kdate-day{height:40px;border:none;background:transparent;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--ink);padding:0;transition:background .12s ease;}
.kdate-day:hover:not(:disabled){background:var(--tint-deep);}
.kdate-day.out{color:#b3b7bf;}
.kdate-day.today{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent);font-weight:800;}
.kdate-day.sel, .kdate-day.sel:hover{background:var(--accent);color:#fff;box-shadow:none;}
.kdate-day:disabled{color:#d3d6db;cursor:default;text-decoration:line-through;text-decoration-color:#e4e6ea;}
.kdate-day:focus-visible, .kdate-nav:focus-visible, .kdate-quick button:focus-visible{outline:2px solid var(--accent);outline-offset:1px;}
.kdate-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.kdate-quick button{border:1px solid var(--line);background:var(--tint);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:700;color:var(--ink);}
.kdate-quick button:hover{border-color:var(--accent);color:var(--accent);}
@media (max-width:640px){.kdate-pop{width:100%;max-width:380px;}}