/* =========================
   Company Directory Archive
   ========================= */

.cd-archive{
  /* map legacy variables -> global theme tokens */
  --bg: var(--cd-card, #fff);
  --muted: var(--cd-muted, #6b7280);
  --text: var(--cd-text, #111827);
  --border: var(--cd-border, #e5e7eb);
  --soft: color-mix(in srgb, var(--cd-border, #e5e7eb) 14%, var(--cd-card, #fff) 86%);
  --shadow: var(--cd-shadow-soft, 0 10px 30px rgba(0,0,0,.06));
  --radius: var(--cd-radius, 16px);

  color:var(--text);
  background:transparent;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,"Noto Sans Arabic",Tahoma,Arial;
}


/* Header */
.cd-archive__header{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
}

.cd-archive__title{
  margin:0 0 6px;
  font-size:22px;
  line-height:1.2;
}

.cd-archive__subtitle{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

/* Topbar */
.cd-archive__topbar{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:12px;
}

.cd-search{flex:1;min-width:220px}

.cd-input,
.cd-select{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  outline:none;
}

.cd-input:focus,
.cd-select:focus{
  border-color: color-mix(in srgb, var(--cd-primary) 55%, var(--border) 45%);
  box-shadow: 0 0 0 4px var(--cd-ring);
}


.cd-sort{
  display:flex;
  align-items:center;
  gap:8px;
}

.cd-label{
  font-size:12px;
  color:var(--muted);
}

/* Chips */
.cd-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.cd-chip{
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  cursor:pointer;
}

.cd-chip--clear{
  background:var(--soft);
}

/* Layout */
.cd-archive__layout{
  display:grid;
  /* النتائج (واسعة) يسار + الفلاتر (ثابتة) يمين */
  grid-template-columns: minmax(0,1fr) 320px;
  gap:18px;
  align-items:start;
}

/* إجبار توزيع الأعمدة حتى لو ترتيب الـHTML مختلف */
.cd-archive__layout .cd-results{ grid-column: 1; min-width: 0; }
.cd-archive__layout .cd-filters{ grid-column: 2; }


/* RTL: keep النتائج (results) في اليسار والفلاتر في اليمين */
.cd-archive[dir="rtl"] .cd-archive__layout{
  grid-template-columns: 1fr 320px;
}
.cd-archive[dir="rtl"] .cd-filters{ grid-column:2; }
.cd-archive[dir="rtl"] .cd-results{ grid-column:1; }


/* Filters */
.cd-filters{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  position:sticky;
  top:14px;
}

.cd-filters__form{padding:14px}

.cd-filters__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}

.cd-filters__title{
  margin:0;
  font-size:16px;
}

.cd-linkbtn{
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:12px;
}

.cd-filters__block{
  padding:10px 0;
  border-top:1px solid var(--border);
}

.cd-filters__block:first-of-type{
  border-top:0;
}

.cd-filters__label{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
}

.cd-field{
  display:block;
  margin-bottom:10px;
}

.cd-field__name{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:6px;
}

.cd-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  margin-bottom:10px;
}

.cd-toggle input{
  width:16px;
  height:16px;
}

.cd-filters__actions{
  display:flex;
  gap:10px;
  margin-top:12px;
}

/* Buttons */
.cd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #111827;
  background:#111827;
  color:#fff;
  cursor:pointer;
  font-size:13px;
  min-height:40px;
}

.cd-btn--ghost{
  background:#fff;
  color:#111827;
  border:1px solid var(--border);
}

.cd-btn--small{
  min-height:34px;
  padding:8px 10px;
  font-size:12px;
}

/* Results */
.cd-results__meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:6px 0 10px;
  color:var(--muted);
  font-size:13px;
}

/* Grid */
.cd-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

/* Card */
.cd-card{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.cd-card__link{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px;
  color:inherit;
  text-decoration:none;
}

.cd-card__logo{
  width:74px;
  height:74px;
  border-radius:18px;
  border:1px solid var(--border);
  background:var(--soft);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.cd-card__logo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.cd-card__name{
  margin:0;
  font-size:16px;
  font-weight:900;
}

.cd-card__desc{
  margin:0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.cd-card__meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:2px;
}

.cd-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  background:var(--soft);
  border:1px solid var(--border);
  border-radius:999px;
  font-size:12px;
}

.cd-rate{
  font-size:12px;
}

.cd-rate small{
  color:var(--muted);
  font-weight:600;
}

/* Pagination */
.cd-pagination{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}

.cd-page{
  border:1px solid var(--border);
  border-radius:12px;
  padding:8px 10px;
  text-decoration:none;
  color:#111;
  background:#fff;
  font-size:13px;
}

.cd-page.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

/* Responsive */
@media (max-width:1024px){
  .cd-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cd-archive__layout{grid-template-columns:280px 1fr;}
}

@media (max-width:820px){
  .cd-archive__layout{grid-template-columns:1fr;}
}

@media (max-width:520px){
  .cd-grid{grid-template-columns:1fr;}
}

/* ==================================================
   Company Card v1 — FINAL (No duplicates)
   Applies to current HTML: .cd-card__logo .cd-card__meta .cd-card__social .cd-card__cta
   ================================================== */

.cd-archive{
  --cd-green:#16a34a;
  --cd-orange:#f97316;
}

/* RTL + alignment */
.cd-archive .cd-grid .cd-card{
  direction: rtl;
  text-align: right;
}

/* Image: fixed 16:9 */
.cd-archive .cd-grid .cd-card .cd-card__logo{
  width:100% !important;
  height:auto !important;
  aspect-ratio: 16 / 9 !important;
  border-radius:16px !important;
  overflow:hidden;
  display:block;
  background: var(--soft, #f3f4f6);
  border: 1px solid var(--border, #e5e7eb);
}
.cd-archive .cd-grid .cd-card .cd-card__logo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}

/* Name */
.cd-archive .cd-grid .cd-card .cd-card__name a,
.cd-archive .cd-grid .cd-card .cd-card__name{
  color: var(--cd-green);
  text-decoration:none;
}
.cd-archive .cd-grid .cd-card .cd-card__name a:hover{ text-decoration:underline; }

/* One-line desc */
.cd-archive .cd-grid .cd-card .cd-card__desc{
  color: var(--muted, #6b7280);
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Meta row */
.cd-archive .cd-grid .cd-card .cd-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:6px;
}

/* Social row (separate line) */
.cd-archive .cd-grid .cd-card .cd-card__social{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:8px;
  padding-top:6px;
  border-top:1px solid var(--border, #e5e7eb);
}

/* اخفاء ":" القادمة من HTML */
.cd-archive .cd-grid .cd-card .cd-card__social .cd-card__assetsLabel{
  display:none !important;
}

/* النص قبل الأيقونات */
.cd-archive .cd-grid .cd-card .cd-card__social::before{
  content:"الشركة تمتلك:";
  color: var(--muted, #6b7280);
  font-size:12px;
  font-weight:600;
  margin-left:6px;
  white-space:nowrap;
}

/* Icons: unified orange */
.cd-archive .cd-grid .cd-card .cd-card__social .cd-ico{
  color: var(--cd-orange);
  display:inline-flex !important;
  width:18px;
  height:18px;
  align-items:center;
  justify-content:center;
}

/* SVG sizing */
.cd-archive .cd-grid .cd-card .cd-card__social .cd-ico svg{
  width:18px;
  height:18px;
  fill: currentColor;
}

/* CTA button (Token-based - works with all themes) */
.cd-archive .cd-card__cta .cd-btn--small,
.cd-archive .cd-card__cta .cd-btn{
  width:100%;
  background: var(--cd-primary);
  border: 1px solid color-mix(in srgb, var(--cd-primary) 70%, #000 30%);
  color: var(--cd-on-primary);
  font-weight: 800;
  border-radius: 14px;
}
.cd-archive .cd-card__cta .cd-btn--small:hover,
.cd-archive .cd-card__cta .cd-btn:hover{
  filter: brightness(.96);
}

.cd-archive .cd-card__cta .cd-btn--small:hover,
.cd-archive .cd-card__cta .cd-btn:hover{
  filter:brightness(.95);
}

/* Hover lift */
.cd-archive .cd-card{
  transition: transform .18s ease, box-shadow .18s ease;
}
.cd-archive .cd-card:hover{
  transform: translateY(-2px);
}

/* =========================
   Hubs (Countries/Governorates/Districts/Categories/Services)
   ========================= */
.cd-hub{
  margin-top: 16px;
}

.cd-hub__head{
  background: #fff;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 14px;
}

.cd-hub__title{ margin:0 0 6px; font-size:22px; }
.cd-hub__subtitle{ margin:0; color: var(--muted, #6b7280); font-size:13px; }

.cd-hub__grid{
  display:grid;
  gap:12px;
}

.cd-hub__grid--4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.cd-hub__grid--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.cd-hub__grid--2{ grid-template-columns: repeat(2, minmax(0,1fr)); }

.cd-hub__card{
  display:block;
  background:#fff;
  border:1px solid var(--border, #e5e7eb);
  border-radius:16px;
  padding:14px;
  text-decoration:none;
  color:inherit;
  transition: transform .18s ease;
}

.cd-hub__card:hover{ transform: translateY(-2px); }

.cd-hub__name{
  font-weight:900;
  color: var(--cd-green, #16a34a);
  margin:0 0 6px;
}

.cd-hub__count{
  color: var(--muted, #6b7280);
  font-size: 13px;
}

@media (max-width: 1024px){
  .cd-hub__grid--4{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 820px){
  .cd-hub__grid--4,
  .cd-hub__grid--3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px){
  .cd-hub__grid--4,
  .cd-hub__grid--3,
  .cd-hub__grid--2{ grid-template-columns: 1fr; }
}
/* =========================
   Force SVG icons to show (theme-proof)
   ========================= */
.cd-archive .cd-grid .cd-card .cd-card__social .cd-ico,
.cd-archive .cd-grid .cd-card .cd-card__social .cd-ico *{
  opacity: 1 !important;
  visibility: visible !important;
}

.cd-archive .cd-grid .cd-card .cd-card__social .cd-ico svg{
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  max-width: none !important;
  max-height: none !important;
  overflow: visible !important;
}

.cd-archive .cd-grid .cd-card .cd-card__social .cd-ico svg path{
  fill: currentColor !important;
}
/* ==================================================
   Single Company Page Layout (Theme-proof)
   ================================================== */

.cd-single, .cd-single *{
  box-sizing:border-box;
}

.cd-single__container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px;
}

/* Grid عمودين */
.cd-single__grid{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap: 16px;
  align-items:start;
}

/* main/aside */
.cd-single__main{
  min-width: 0;
}

.cd-single__aside{
  position: sticky;
  top: 16px;
}

/* Cards موحّدة داخل صفحة الشركة */
.cd-single .cd-box{
  background:#fff;
  border:1px solid var(--border, #e5e7eb);
  border-radius:16px;
  padding:14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
  margin-bottom: 14px;
}

/* Hero */
.cd-single .cd-hero{
  display:flex;
  gap:14px;
  align-items:center;
}

.cd-single .cd-hero__logo{
  width:84px;
  height:84px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border, #e5e7eb);
  background: var(--soft, #f3f4f6);
  flex:0 0 auto;
}
.cd-single .cd-hero__logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.cd-single .cd-hero__title{
  margin:0;
  font-size:22px;
  line-height:1.25;
  color: var(--cd-green, #16a34a);
}

.cd-single .cd-hero__meta{
  margin-top:6px;
  color: var(--muted, #6b7280);
  font-size:13px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

.cd-single .cd-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--border, #e5e7eb);
  background: var(--soft, #f3f4f6);
  font-size:12px;
  color:#111;
}

/* CTA buttons */
.cd-single .cd-ctaRow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.cd-single .cd-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border-radius:14px;
  padding:10px 12px;
  border:1px solid var(--border, #e5e7eb);
  background:#fff;
  color:#111;
  text-decoration:none;
  font-weight:800;
  min-height:40px;
}
.cd-single .cd-btn--primary{
  background: var(--cd-green, #16a34a);
  border-color: var(--cd-green, #16a34a);
  color:#fff;
}
.cd-single .cd-btn--ghost{
  background:#fff;
}

/* Gallery section spacing */
.cd-single .cd-gallery{
  margin-top: 0; /* عشان يبقى منسجم داخل cd-box */
  padding-top: 0;
  border-top: 0;
}

/* Similar companies grid داخل صفحة الشركة */
.cd-single .cd-similarGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
@media (max-width: 1024px){
  .cd-single__grid{ grid-template-columns: 1fr; }
  .cd-single__aside{ position: static; }
}
@media (max-width: 520px){
  .cd-single .cd-hero{ align-items:flex-start; }
  .cd-single .cd-similarGrid{ grid-template-columns: 1fr; }
}
/* =========================
   Single Company Layout (stable)
   ========================= */
.cd-single{direction:rtl}
.cd-single__container{max-width:1200px;margin:0 auto;padding:16px}
.cd-single__grid{display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
.cd-single__main{min-width:0}
.cd-single__aside{position:sticky;top:16px}

@media (max-width: 1024px){
  .cd-single__grid{grid-template-columns:1fr}
  .cd-single__aside{position:static}
}

/* ==================================================
   Single Company UI Polish (Clean + No Duplicates)
   ================================================== */

.cd-single{
  /* bind single page accent colors to global theme */
  --cd-green:  var(--cd-primary, #16a34a);
  --cd-orange: var(--cd-accent,  #f97316);

  --cd-border: var(--cd-border, #e5e7eb);
  --cd-muted:  var(--cd-muted,  #6b7280);
  --cd-soft:   color-mix(in srgb, var(--cd-border, #e5e7eb) 14%, var(--cd-card, #fff) 86%);
}


/* Buttons */
.cd-single .cd-btn{
  border:1px solid var(--cd-border) !important;
  background:#fff !important;
  color:#111 !important;
  border-radius:14px !important;
  padding:10px 12px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:42px !important;
}
.cd-single .cd-btn-primary{
  background:var(--cd-green) !important;
  border-color:var(--cd-green) !important;
  color:#fff !important;
}
.cd-single .cd-btn-whatsapp{
  background:#25D366 !important;
  border-color:#25D366 !important;
  color:#fff !important;
}
.cd-single .cd-btn:hover{
  filter:brightness(.97);
}

/* Make social links box buttons orange (Single page only) */
.cd-single .cd-links .cd-btn{
  border-color: var(--cd-orange) !important;
  color: var(--cd-orange) !important;
  background:#fff !important;
  padding:8px 10px !important;
  min-height:36px !important;
  font-weight:800 !important;
}

/* =========================================
   Single Company – Logo like archive cards
   ========================================= */

.cd-single .cd-hero{
  align-items:flex-start;
}

/* Logo wrapper */
.cd-single .cd-logo{
  width:450px !important;
  height:180px !important;
  min-width:450px !important;

  border-radius:16px !important;
  overflow:hidden !important;
  background: var(--cd-soft, #f3f4f6) !important;

  border:1px solid var(--cd-border, #e5e7eb) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.06) !important;

  display:flex;
  align-items:center;
  justify-content:center;
}

/* Logo image */
.cd-single .cd-logo-img,
.cd-single .cd-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important; /* يملأ المستطيل بدون تشويه */
  display:block !important;
  padding:0 !important;
}

/* Mobile tuning */
@media (max-width: 820px){
  .cd-single .cd-logo{
    width:100% !important;
    max-width:360px;
    min-width:0 !important;
    height:145px !important;
  }
}

.cd-single .cd-title{
  margin:0;
  font-size:22px;
  line-height:1.25;
  color:var(--cd-green);
}

/* KV block (العنوان/الهاتف/واتساب/إيميل/...) */
.cd-single .cd-kv{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}
.cd-single .cd-kv-item{
  border:1px solid var(--cd-border);
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.cd-single .cd-kv-k{
  color:var(--cd-muted);
  font-size:12px;
  font-weight:800;
  margin-bottom:6px;
}
.cd-single .cd-kv-v{
  color:#111;
  font-size:14px;
  font-weight:700;
  word-break:break-word;
}
.cd-single .cd-kv-item[style*="grid-column:1/-1"]{
  grid-column:1 / -1;
}

/* KV links styling (tel/wa/mail/site) */
.cd-single .cd-kv-v a{
  color:#111;
  text-decoration:none;
  border-bottom:1px dashed rgba(0,0,0,.25);
}
.cd-single .cd-kv-v a:hover{
  border-bottom-color: rgba(0,0,0,.55);
}

/* Rating badge */
.cd-single .cd-badge-rating{
  background:var(--cd-soft);
  border:1px solid var(--cd-border);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
}

/* Similar list nicer */
.cd-single .cd-similar{
  display:grid;
  gap:10px;
}
.cd-single .cd-sim-item{
  border:1px solid var(--cd-border);
  border-radius:14px;
  padding:10px 12px;
  text-decoration:none;
  color:inherit;
  background:#fff;
}
.cd-single .cd-sim-title{ font-weight:900; color:#111; }
.cd-single .cd-sim-meta{ color:var(--cd-muted); font-size:12px; margin-top:4px; }

/* Responsive */
@media (max-width: 820px){
  .cd-single .cd-kv{ grid-template-columns: 1fr; }
}

/* KV icons via data-key (single source of truth) */
.cd-single .cd-kv-item[data-key] .cd-kv-k{
  display:flex;
  align-items:center;
  gap:8px;
}
.cd-single .cd-kv-item[data-key="phone"] .cd-kv-k::before{ content:"📞"; }
.cd-single .cd-kv-item[data-key="whatsapp"] .cd-kv-k::before{ content:"💬"; }
.cd-single .cd-kv-item[data-key="email"] .cd-kv-k::before{ content:"✉️"; }
.cd-single .cd-kv-item[data-key="website"] .cd-kv-k::before{ content:"🌐"; }
.cd-single .cd-kv-item[data-key="google"] .cd-kv-k::before{ content:"📍"; }

/* Single: Social icons (flat, orange) */
.cd-single .cd-social-icons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.cd-single .cd-soc{
  width:40px !important;
  height:40px !important;
  border-radius:14px;
  border:1px solid var(--cd-border, #e5e7eb);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: var(--cd-orange, #f97316);
  text-decoration:none;
}

.cd-single .cd-soc:hover{ filter:brightness(.97); }

.cd-single .cd-soc svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
  fill: currentColor !important;
}

/* Gallery placeholder */
.cd-single .cd-gallery-empty{
  margin-top:12px;
  padding:12px;
  border:1px dashed var(--cd-border, #e5e7eb);
  border-radius:14px;
  background:#fff;
  color: var(--muted, #6b7280);
}
.cd-single .cd-hero .cd-logo,
.cd-single .cd-hero .cd-logo.cd-logo--square { width:450px !important; height:180px !important; }
.cd-single .cd-hero .cd-logo__open { width:100% !important; height:100% !important; }
.cd-single .cd-hero .cd-logo__open img { width:100% !important; height:100% !important; object-fit:cover !important; }
/* =========================
   Ads (Native / Image) - Global
   ========================= */

.cd-ad{margin:12px 0}
.cd-ad__card{
  background:#fff;
  border:1px solid var(--border, #e5e7eb);
  border-radius:16px;
  padding:14px;
  box-shadow: var(--shadow, 0 10px 30px rgba(0,0,0,.06));
}

.cd-ad__head{display:flex;justify-content:flex-start;margin-bottom:10px}
.cd-ad__badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background: var(--soft, #f3f4f6);
  border:1px solid var(--border, #e5e7eb);
  color:#111;
  font-size:12px;
  font-weight:800;
}

.cd-ad__title{
  margin:0 0 6px;
  font-size:16px;
  line-height:1.35;
  font-weight:950;
}
.cd-ad__alink{color:inherit;text-decoration:none}
.cd-ad__alink:hover{text-decoration:underline}

.cd-ad__text{
  margin:0 0 10px;
  color: var(--muted, #6b7280);
  font-size:13px;
  line-height:1.7;
  font-weight:700;
}

.cd-ad__actions{display:flex;gap:10px;align-items:center}
.cd-ad__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--border, #e5e7eb);
  background:#fff;
  color:#111;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.cd-ad__btn:hover{filter:brightness(.98)}

/* Image ads */
.cd-ad--image .cd-ad__img{
  width:100%;
  height:auto;
  border-radius:16px;
  display:block;
  border:1px solid var(--border, #e5e7eb);
}
/* Featured Company Ad (renders as real company card) */
.cd-card--featured{position:relative; overflow:hidden}
.cd-adbadge--featured{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}

/* Optional open status */
.cd-open{margin-top:6px;font-weight:900;font-size:13px}
.cd-open--yes{color:#0f7b2f}
.cd-open--no{color:#b42318}

/* Meta lines inside cards */
.cd-meta{margin-top:4px;color:#444;font-size:13px}
.cd-meta--loc{color:#666}

/* ===== FEATURED AD (LOGO MODE) ===== */
.cd-grid .cd-card.cd-card--featured .cd-adlogo,
.cd-directory .cd-card.cd-card--featured .cd-adlogo,
body .cd-card.cd-card--featured .cd-adlogo{
  margin: 10px 0 12px !important;
  width: 100% !important;
  height: 90px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid #f0f0f0 !important;
}

.cd-grid .cd-card.cd-card--featured .cd-adlogo img,
.cd-directory .cd-card.cd-card--featured .cd-adlogo img,
body .cd-card.cd-card--featured .cd-adlogo img{
  max-width: 100% !important;
  max-height: 70px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}

.cd-grid .cd-card.cd-card--featured .cd-adtitle,
.cd-directory .cd-card.cd-card--featured .cd-adtitle,
body .cd-card.cd-card--featured .cd-adtitle{
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  margin: 6px 0 6px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.cd-card.cd-card--featured .cd-meta{
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin-top: 3px !important;
  color: #555 !important;
}

.cd-card.cd-card--featured .cd-adactions{
  margin-top: 10px !important;
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

/* Featured ad actions buttons (match CD theme tokens) */
.cd-card.cd-card--featured .cd-adactions .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 8px 12px;
  font-size: 13px;
  border-radius: 12px;
  border: 1px solid var(--cd-border);
  background: var(--cd-card);
  color: var(--cd-text);
  box-shadow: var(--cd-shadow-soft);
}

.cd-card.cd-card--featured .cd-adactions .button:hover{
  filter: brightness(.97);
}

.cd-card.cd-card--featured .cd-adactions .button:focus{
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cd-primary) 25%, transparent);
}

/* لو تحب “الزر الأساسي” يكون Primary (اختياري):
.cd-card.cd-card--featured .cd-adactions .button:first-child{
  background: var(--cd-primary);
  border-color: color-mix(in srgb, var(--cd-primary) 70%, #000 30%);
  color: var(--cd-on-primary);
}
*/


.cd-card.cd-card--featured .cd-adbadge--featured{
  top: 10px !important;
  right: 10px !important;
  z-index: 5 !important;
}
/* =========================
   DIRECTORY – Featured Ad FIX
   ========================= */

/* امنع Grid الدليل من شد الكارت */
.cd-directory .cd-grid{
  align-items: start !important;
}

/* امنع أي ارتفاع مفروض على الكارت */
.cd-directory .cd-card.cd-card--featured{
  height: auto !important;
  align-self: start !important;
}

/* تأكيد Logo mode داخل دليل الشركات */
.cd-directory .cd-card.cd-card--featured .cd-adlogo{
  height: 90px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  overflow: hidden !important;
}

/* الصورة = شعار (مش cover) */
.cd-directory .cd-card.cd-card--featured .cd-adlogo img{
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 70px !important;
  object-fit: contain !important;
}
/* ===================================
   CD UI Chrome - Hardening against theme CSS
   Scope everything under body.cd-ui
=================================== */

body.cd-ui{
  background:#f7f7fb;
  color:#111827;
}

body.cd-ui a{
  color:inherit;
  text-decoration:none;
}

body.cd-ui a:hover{
  text-decoration:none;
}

body.cd-ui .cd-main{
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px 16px 48px;
}

/* Header */
body.cd-ui .cd-header{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(17,24,39,.08);
}

body.cd-ui .cd-header__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}

body.cd-ui .cd-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  font-size:16px;
}

body.cd-ui .cd-logo__dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#2563eb;
}

body.cd-ui .cd-nav{
  display:flex;
  gap:18px;
  align-items:center;
}

body.cd-ui .cd-nav a{
  font-size:14px;
  color:#111827;
  padding: 8px 10px;
  border-radius:10px;
}

body.cd-ui .cd-nav a:hover{
  background: rgba(37,99,235,.08);
  color:#2563eb;
}

body.cd-ui .cd-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Buttons */
body.cd-ui .cd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
  line-height:1;
  border:1px solid transparent;
  cursor:pointer;
  white-space:nowrap;
}

body.cd-ui .cd-btn--primary{
  background:#111827;
  color:#fff;
}

body.cd-ui .cd-btn--primary:hover{
  background:#0b1220;
}

body.cd-ui .cd-btn--ghost{
  background:#fff;
  border-color: rgba(17,24,39,.14);
  color:#111827;
}

body.cd-ui .cd-btn--ghost:hover{
  border-color: rgba(37,99,235,.25);
  color:#2563eb;
}
/* ===============================
   Header Logo Image
================================ */
body.cd-ui .cd-hdr__logoimg{
  height: 38px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  display:block;
}

body.cd-ui .cd-menu-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.14);
  background:#fff;
  cursor:pointer;
  position:relative;
}

/* Hamburger lines */
body.cd-ui .cd-menu-toggle span,
body.cd-ui .cd-menu-toggle span::before,
body.cd-ui .cd-menu-toggle span::after{
  content:"";
  position:absolute;
  left:50%;
  width:18px;
  height:2px;
  background:#111827;
  transform:translateX(-50%);
  border-radius:2px;
}

body.cd-ui .cd-menu-toggle span{ top:50%; transform:translate(-50%,-50%); }
body.cd-ui .cd-menu-toggle span::before{ top:-6px; }
body.cd-ui .cd-menu-toggle span::after{ top:6px; }

/* ===============================
   Mobile Header Layout
================================ */
@media (max-width: 992px){

  /* show burger */
  body.cd-ui .cd-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  /* keep brand centered nicely */
  body.cd-ui .cd-hdr__wrap{
    padding: 12px 14px;
    gap: 10px;
  }

  body.cd-ui .cd-hdr__brand{
    flex: 1;
    justify-content: center;
  }

  /* hide CTA on mobile (اختياري) */
  body.cd-ui .cd-hdr__cta{
    display:none;
  }

  /* turn nav into dropdown panel */
  body.cd-ui .cd-hdr__nav{
    display:none;               /* default closed */
    position:absolute;
    top: calc(100% + 8px);
    left: 14px;
    right: 14px;
    background:#0b1220;
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    padding: 12px;
    box-shadow: 0 18px 50px rgba(0,0,0,.25);
    flex-direction:column;
    gap: 6px;
    z-index: 10000;
  }

  body.cd-ui .cd-hdr__nav.active{
    display:flex;
  }

  body.cd-ui .cd-hdr__link{
    color:#e5e7eb;
    padding: 12px 12px;
    border-radius: 12px;
    background: rgba(255,255,255,.06);
  }

  body.cd-ui .cd-hdr__link:hover{
    color:#fff;
    background: rgba(255,255,255,.10);
  }

  /* logo sizing on mobile */
  body.cd-ui .cd-hdr__logoimg{
    height: 44px;
    max-width: 180px;
  }
}



/* =========================================================
   Directory Filters - Mobile Drawer Clean Version
========================================================= */

body.cd-ui{
  --cd-overlay: rgba(2,6,23,.55);
  --cd-drawer-radius:18px;
}

/* Desktop filters grid */
body.cd-ui .cd-filters{
  background:var(--cd-surface);
  border:1px solid var(--cd-border);
  border-radius:var(--cd-radius);
  box-shadow:var(--cd-shadow);
  padding:14px;
  margin:0 0 16px;

  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:10px;
  align-items:center;
}

/* Inputs */
body.cd-ui .cd-filters input[type="text"],
body.cd-ui .cd-filters input[type="search"],
body.cd-ui .cd-filters select{
  width:100%;
  height:44px;
  border-radius:12px;
  border:1px solid var(--cd-border);
  background:var(--cd-surface);
  color:var(--cd-text);
  padding:0 12px;
  outline:none;
}

body.cd-ui .cd-filters input:focus,
body.cd-ui .cd-filters select:focus{
  border-color:rgba(37,99,235,.35);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

/* Overlay */
body.cd-ui .cd-filters-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:var(--cd-overlay);
  z-index:99980;
}

/* Drawer */
body.cd-ui .cd-filters-drawer{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  background:var(--cd-surface);
  border-top-left-radius:var(--cd-drawer-radius);
  border-top-right-radius:var(--cd-drawer-radius);
  box-shadow:0 -18px 50px rgba(0,0,0,.25);
  transform:translateY(105%);
  transition:transform .22s ease;
  z-index:99990;
  max-height:85vh;
  overflow:auto;
  padding:14px 14px 90px;
}

body.cd-ui.cd-filters-open .cd-filters-overlay{
  display:block;
}

body.cd-ui.cd-filters-open .cd-filters-drawer{
  transform:translateY(0);
}

/* Drawer content */
body.cd-ui .cd-filters-drawer .cd-filters{
  box-shadow:none;
  border:0;
  border-radius:0;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

/* Bottom action bar */
body.cd-ui .cd-filters-actions{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:100000;
  background:var(--cd-surface);
  border-top:1px solid var(--cd-border);
  padding:12px 14px;
  display:flex;
  gap:10px;
}

body.cd-ui .cd-filters-actions .cd-btn{
  flex:1;
  height:44px;
}

/* Toggle bar (mobile only) */
body.cd-ui .cd-filters-togglebar{
  display:none;
}

@media (max-width:992px){

  body.cd-ui .cd-filters{
    display:none !important;
  }

  body.cd-ui .cd-filters-togglebar{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    background:var(--cd-surface);
    border:1px solid var(--cd-border);
    border-radius:var(--cd-radius);
    box-shadow:var(--cd-shadow-sm);
    padding:12px;
    margin:0 0 14px;
  }

  body.cd-ui .cd-filters-togglebar__btn{
    height:42px;
    padding:0 14px;
    border-radius:12px;
    background:var(--cd-primary);
    color:var(--cd-primary-contrast);
    border:0;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
  }
}



/* =============================
   CD UI hard overrides (Clean + RTL Safe)
   ============================= */

/* Center main wrapper */
body.cd-ui .cd-main{
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
  width:100%;
}

/* Force full width container from theme */
body.cd-ui .container,
body.cd-ui .container-fluid,
body.cd-ui .site-content,
body.cd-ui .content-wrapper{
  max-width:100% !important;
  width:100% !important;
}

/* RTL layout */
body.cd-ui .cd-archive{
  direction:rtl;
}

/* Archive header */
body.cd-ui .cd-archive__header{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
}

/* ===== Layout Grid ===== */
body.cd-ui .cd-archive__layout{
  display:grid !important;
  grid-template-columns:1fr 320px !important; /* النتائج ثم الفلاتر */
  gap:22px !important;
  align-items:start !important;
  margin-top:14px !important;
}

/* تثبيت الأعمدة */
body.cd-ui .cd-archive__layout > .cd-results{
  grid-column:1;
  min-width:0;
}

body.cd-ui .cd-archive__layout > .cd-filters{
  grid-column:2;
  min-width:0;
}

/* Mobile layout */
@media (max-width: 992px){
  body.cd-ui .cd-archive__layout{
    grid-template-columns:1fr !important;
  }

  body.cd-ui .cd-filters{
    display:none !important; /* الموبايل يستخدم drawer */
  }
}

/* ===== Results Grid ===== */
body.cd-ui .cd-results{
  min-width:0;
}

body.cd-ui .cd-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
}

@media (max-width:1024px){
  body.cd-ui .cd-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:680px){
  body.cd-ui .cd-grid{
    grid-template-columns:1fr !important;
  }
}

/* ===== Card Styling ===== */
body.cd-ui .cd-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  background:var(--bg) !important;
  border:1px solid var(--border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
  overflow:hidden !important;
}

/* Logo */
body.cd-ui .cd-card__logo{
  width:100% !important;
  height:160px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f7f7f7 !important;
  overflow:hidden !important;
}

body.cd-ui .cd-card__logo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

/* Typography */
body.cd-ui .cd-card__name{
  margin:10px 0 6px !important;
}

body.cd-ui .cd-card__name a{
  color:var(--text) !important;
  text-decoration:none !important;
}

body.cd-ui .cd-card__desc{
  margin:0 0 10px !important;
  color:var(--muted) !important;
}

body.cd-ui .cd-card__meta{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:wrap !important;
}

body.cd-ui .cd-card__social{
  margin-top:10px !important;
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
}

body.cd-ui .cd-card__cta{
  margin-top:12px !important;
  display:flex !important;
  justify-content:flex-start !important;
}

/* Neutralize theme typography */
body.cd-ui .cd-card p{
  margin:0 !important;
}

body.cd-ui .cd-card small{
  font-size:12px;
}

/* ===== Mobile Filters Sheet ===== */
body.cd-ui dialog.cd-msheet{
  border:0;
  padding:0;
  width:min(560px,96vw);
  max-width:96vw;
  background:transparent;
}

body.cd-ui dialog.cd-msheet::backdrop{
  background:rgba(0,0,0,.45);
}

body.cd-ui .cd-msheet__panel{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

body.cd-ui .cd-msheet__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid rgba(17,24,39,.10);
}

body.cd-ui .cd-msheet__x{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.12);
  background:#fff;
  font-size:20px;
  line-height:1;
}

body.cd-ui .cd-msheet__body{
  padding:12px 14px 16px;
  max-height:min(75vh,640px);
  overflow:auto;
}

body.cd-ui .cd-msheet__backdrop{
  display:none;
}
/* FIX RTL grid: put filters on the RIGHT and results on the LEFT */
body.cd-ui .cd-archive__layout{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap:24px;
  align-items:start;
}

body.rtl.cd-ui .cd-results{ grid-column:1; min-width:0; }
body.rtl.cd-ui .cd-filters{ grid-column:2; }

/* Mobile: one column only */
@media (max-width: 992px){
  body.cd-ui .cd-archive__layout{ grid-template-columns: 1fr; }
}
/* =========================
   Mobile Filters Sheet (dialog)
========================= */
.cd-msheet{
  border:0;
  padding:0;
  width:min(560px, 96vw);
  max-width:96vw;
  background:transparent;
}
.cd-msheet::backdrop{
  background: rgba(0,0,0,.45);
}

.cd-msheet__panel{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 16px 50px rgba(0,0,0,.25);
}

.cd-msheet__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid rgba(17,24,39,.08);
}
.cd-msheet__x{
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.14);
  background:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.cd-msheet__body{
  max-height: 70vh;
  overflow:auto;
  padding: 12px 14px 16px;
}

@media (min-width: 993px){
  dialog.cd-msheet{ display:none !important; }
}
/* =========================================================
   Company Directory – Frontend Design System (RTL)
   Base Components + Theme Variables
   ========================================================= */

/* -------------- 1) Tokens (defaults = Classic Directory) -------------- */
:root{
  /* Colors */
  --cd-primary:#0EA5E9;
  --cd-accent:#22C55E;
  --cd-bg:#F8FAFC;
  --cd-card:#FFFFFF;
  --cd-text:#0F172A;
  --cd-muted:#64748B;
  --cd-border:rgba(15,23,42,.10);
  --cd-ring:rgba(14,165,233,.35);

  /* Radii / Shadows */
  --cd-radius:14px;
  --cd-radius-sm:10px;
  --cd-shadow:0 6px 18px rgba(15,23,42,.06);
  --cd-shadow-soft:0 3px 10px rgba(15,23,42,.06);

  /* Spacing (8px system) */
  --cd-1:8px;
  --cd-2:16px;
  --cd-3:24px;
  --cd-4:32px;

  /* Typography */
  --cd-font: system-ui, -apple-system, "Segoe UI", Tahoma, Arial, sans-serif;
  --cd-h1: clamp(32px, 2.6vw, 40px);
  --cd-h2: clamp(22px, 1.6vw, 26px);
  --cd-body: 16px;
  --cd-small: 13px;
  --cd-xs: 12px;

  /* Density */
  --cd-field-h: 44px;
  --cd-pad: 12px;
  --cd-gap: 12px;

  /* Layout */
  --cd-wrap: 1160px;
}

body.cd-density-compact{
  --cd-field-h: 40px;
  --cd-pad: 10px;
  --cd-gap: 10px;
}
body.cd-density-comfortable{
  --cd-field-h: 48px;
  --cd-pad: 14px;
  --cd-gap: 14px;
}

/* Radius options */
body.cd-radius-10{ --cd-radius:10px; --cd-radius-sm:8px; }
body.cd-radius-14{ --cd-radius:14px; --cd-radius-sm:10px; }
body.cd-radius-18{ --cd-radius:18px; --cd-radius-sm:12px; }

/* -------------- 2) Base resets inside plugin scope -------------- */
.cd, .cd-directory, .cd-single, .cd-owner, .cd-portal, .cd-form, .cd-auth, .cd-mycompany{
  font-family: var(--cd-font);
  color: var(--cd-text);
  font-size: var(--cd-body);
  line-height: 1.65;
  direction: rtl;
}

.cd a, .cd-directory a, .cd-single a{ color: inherit; text-decoration: none; }
.cd a:hover, .cd-directory a:hover, .cd-single a:hover{ text-decoration: underline; text-underline-offset: 3px; }

.cd-wrap{
  max-width: var(--cd-wrap);
  margin-inline: auto;
  padding-inline: var(--cd-2);
}

.cd-page{
  background: var(--cd-bg);
  padding-block: var(--cd-4);
}

.cd-card, .cd-panel, .cd-box{
  background: var(--cd-card);
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius);
  box-shadow: var(--cd-shadow-soft);
}

.cd-muted{ color: var(--cd-muted); }
.cd-small{ font-size: var(--cd-small); }
.cd-xs{ font-size: var(--cd-xs); }

/* -------------- 3) Typography -------------- */
.cd-h1{ font-size: var(--cd-h1); margin:0 0 var(--cd-1); font-weight: 900; letter-spacing: -.02em; }
.cd-h2{ font-size: var(--cd-h2); margin:0 0 var(--cd-1); font-weight: 900; letter-spacing: -.01em; }
.cd-p{ margin:0; color: var(--cd-muted); }

/* Section header: title + desc + "عرض الكل" */
.cd-sechead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: var(--cd-2);
  margin-bottom: var(--cd-2);
}
.cd-sechead__link{
  color: var(--cd-primary);
  font-weight: 800;
  text-decoration: none;
}
.cd-sechead__link:hover{ text-decoration: underline; }

/* -------------- 4) Buttons -------------- */
.cd-btn, .cd a.button, .cd-directory .button, .cd-single .button, .cd-portal .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  height: var(--cd-field-h);
  padding-inline: 14px;
  border-radius: calc(var(--cd-radius) - 4px);
  border: 1px solid var(--cd-border);
  background: #fff;
  color: var(--cd-text);
  font-weight: 800;
  cursor:pointer;
  text-decoration:none !important;
  transition: transform .08s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  box-shadow: 0 1px 0 rgba(15,23,42,.04);
}
.cd-btn:hover, .cd a.button:hover, .cd-directory .button:hover, .cd-single .button:hover{
  transform: translateY(-1px);
  box-shadow: var(--cd-shadow-soft);
}
.cd-btn:active{ transform: translateY(0); }

/* Variants */
.cd-btn--primary{
  background: var(--cd-primary);
  border-color: color-mix(in srgb, var(--cd-primary) 75%, #000 25%);
  color:#fff;
}
.cd-btn--primary:hover{ filter: brightness(.98); }

.cd-btn--secondary{
  background: color-mix(in srgb, var(--cd-primary) 10%, #fff 90%);
  border-color: color-mix(in srgb, var(--cd-primary) 25%, var(--cd-border) 75%);
}

.cd-btn--ghost{
  background: transparent;
  border-color: transparent;
  color: var(--cd-primary);
}
.cd-btn--ghost:hover{
  background: color-mix(in srgb, var(--cd-primary) 10%, transparent 90%);
  border-color: color-mix(in srgb, var(--cd-primary) 20%, transparent 80%);
}

/* -------------- 5) Inputs / Select / Textarea -------------- */
.cd-input, .cd-select, .cd-textarea,
.cd input[type="text"], .cd input[type="email"], .cd input[type="url"], .cd input[type="tel"],
.cd input[type="search"], .cd input[type="number"],
.cd select, .cd textarea,
.cd-directory .cd-filters input, .cd-directory .cd-filters select{
  width:100%;
  height: var(--cd-field-h);
  padding-inline: 12px;
  border-radius: calc(var(--cd-radius) - 4px);
  border: 1px solid var(--cd-border);
  background:#fff;
  color: var(--cd-text);
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease;
}

.cd textarea, .cd-textarea{ min-height: 120px; height:auto; padding-block: 10px; }

.cd input:focus, .cd select:focus, .cd textarea:focus,
.cd-directory .cd-filters input:focus, .cd-directory .cd-filters select:focus{
  border-color: color-mix(in srgb, var(--cd-primary) 55%, var(--cd-border) 45%);
  box-shadow: 0 0 0 4px var(--cd-ring);
}

.cd-field{ display:flex; flex-direction:column; gap:6px; }
.cd-label{ font-size: var(--cd-small); color: var(--cd-muted); font-weight: 800; }
.cd-help{ font-size: var(--cd-xs); color: var(--cd-muted); }

/* -------------- 6) Badges -------------- */
.cd-badge{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--cd-border);
  font-size: var(--cd-xs);
  font-weight: 900;
  background: color-mix(in srgb, var(--cd-primary) 10%, #fff 90%);
}
.cd-badge--accent{
  background: color-mix(in srgb, var(--cd-accent) 12%, #fff 88%);
  border-color: color-mix(in srgb, var(--cd-accent) 30%, var(--cd-border) 70%);
}
.cd-badge--dark{
  background: rgba(15,23,42,.06);
}

/* -------------- 7) Grid responsive -------------- */
.cd-grid{
  display:grid;
  gap: var(--cd-gap);
}
.cd-grid--2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.cd-grid--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.cd-grid--4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

@media (max-width: 1024px){
  .cd-grid--4{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 820px){
  .cd-grid--3, .cd-grid--4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cd-sechead{ align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px){
  .cd-grid--2, .cd-grid--3, .cd-grid--4{ grid-template-columns: 1fr; }
}

/* -------------- 8) Cards: Company / Term / Service -------------- */
.cd-card{
  padding: var(--cd-2);
}
.cd-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: var(--cd-2);
  margin-bottom: var(--cd-1);
}
.cd-card__title{
  margin:0;
  font-weight: 1000;
  font-size: 18px;
}
.cd-card__meta{ color: var(--cd-muted); font-size: var(--cd-small); }
.cd-card__logo{
  width: 64px;
  height: 64px;
  border-radius: var(--cd-radius-sm);
  background: color-mix(in srgb, var(--cd-border) 25%, transparent 75%);
  border: 1px solid var(--cd-border);
  overflow:hidden;
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cd-card__logo img{ width:100%; height:100%; object-fit: contain; background:#fff; }

.cd-card__row{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-top: var(--cd-2);
}

/* -------------- 9) Directory filters + pagination -------------- */
.cd-directory{
  background: transparent;
}
.cd-filters{
  background: var(--cd-card);
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius);
  box-shadow: var(--cd-shadow-soft);
  padding: var(--cd-2);
  display:grid;
  gap: var(--cd-gap);
}
@media (min-width: 900px){
  .cd-filters{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 899px){
  .cd-filters{ grid-template-columns: 1fr; }
}

.cd-pagination ul{
  list-style:none;
  padding:0;
  margin: var(--cd-2) 0 0;
  display:flex;
  gap: 8px;
  flex-wrap: wrap;
}
.cd-pagination a, .cd-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 40px;
  height: 40px;
  padding-inline: 12px;
  border-radius: 999px;
  border: 1px solid var(--cd-border);
  background:#fff;
  font-weight: 900;
  text-decoration:none !important;
}
.cd-pagination span.current{
  background: var(--cd-primary);
  border-color: color-mix(in srgb, var(--cd-primary) 70%, #000 30%);
  color:#fff;
}

/* -------------- 10) Toolbar CTA (mobile sticky) -------------- */
.cd-cta-bar{
  position: fixed;
  inset-inline: 12px;
  bottom: 12px;
  z-index: 9999;
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
  border: 1px solid var(--cd-border);
  border-radius: calc(var(--cd-radius) + 2px);
  box-shadow: var(--cd-shadow);
  padding: 10px;
  display:none;
  backdrop-filter: blur(10px);
}
.cd-cta-bar__row{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
}
.cd-cta-bar .cd-btn{ height: 44px; padding-inline: 10px; font-weight: 900; }
@media (max-width: 720px){
  .cd-cta-bar{ display:block; }
  body{ padding-bottom: 84px; } /* مساحة للبار */
}

/* -------------- 11) Map container / Hours / Branches -------------- */
.cd-map{
  border-radius: var(--cd-radius);
  border: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-border) 15%, #fff 85%);
  min-height: 280px;
  overflow:hidden;
}
.cd-hours{
  display:grid;
  gap: 8px;
}
.cd-hours__item{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius-sm);
  background: #fff;
}
.cd-hours__day{ font-weight: 900; color: var(--cd-text); }
.cd-hours__time{ color: var(--cd-muted); font-weight: 800; }

/* -------------- 12) Tabs / Pills -------------- */
.cd-tabs{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}
.cd-tab{
  border: 1px solid var(--cd-border);
  background:#fff;
  border-radius: 999px;
  padding: 10px 12px;
  font-weight: 900;
  cursor:pointer;
}
.cd-tab.is-active{
  background: color-mix(in srgb, var(--cd-primary) 12%, #fff 88%);
  border-color: color-mix(in srgb, var(--cd-primary) 30%, var(--cd-border) 70%);
}

/* -------------- 13) Theme overrides via body class -------------- */
/* Template 1: Classic (default) */
body.cd-theme-classic{
  --cd-primary:#0EA5E9;
  --cd-accent:#22C55E;
  --cd-bg:#F8FAFC;
  --cd-card:#FFFFFF;
  --cd-text:#0F172A;
  --cd-muted:#64748B;
  --cd-border:rgba(15,23,42,.10);
  --cd-ring:rgba(14,165,233,.35);
}

/* Template 2: Modern Clean (SaaS) */
body.cd-theme-modern{
  --cd-primary:#2563EB;
  --cd-accent:#F97316;
  --cd-bg:#F6F8FF;
  --cd-card:#FFFFFF;
  --cd-border:rgba(15,23,42,.09);
  --cd-ring:rgba(37,99,235,.30);
  --cd-shadow-soft:0 4px 16px rgba(15,23,42,.06);
}
body.cd-theme-modern .cd-tab{ border-radius: 999px; }

/* Template 3: Warm Local (خدمات محلية) */
body.cd-theme-warm{
  --cd-primary:#16A34A;
  --cd-accent:#F59E0B;
  --cd-bg:#F7FBF7;
  --cd-card:#FFFFFF;
  --cd-border:rgba(22,101,52,.14);
  --cd-ring:rgba(22,163,74,.30);
}
body.cd-theme-warm .cd-btn--primary{ box-shadow: 0 10px 22px rgba(22,163,74,.20); }

/* Template 4: Luxury Dark */
body.cd-theme-dark{
  --cd-primary:#D4AF37;
  --cd-accent:#60A5FA;
  --cd-bg:#0B1220;
  --cd-card:#0F172A;
  --cd-text:#E5E7EB;
  --cd-muted:#9CA3AF;
  --cd-border:rgba(229,231,235,.14);
  --cd-ring:rgba(212,175,55,.28);
  --cd-shadow-soft:0 10px 28px rgba(0,0,0,.35);
}
body.cd-theme-dark .cd-card,
body.cd-theme-dark .cd-filters{
  background: var(--cd-card);
}
body.cd-theme-dark .cd-input,
body.cd-theme-dark .cd-select,
body.cd-theme-dark .cd textarea,
body.cd-theme-dark .cd input,
body.cd-theme-dark .cd select{
  background: rgba(255,255,255,.06);
  color: var(--cd-text);
  border-color: var(--cd-border);
}
body.cd-theme-dark .cd-btn,
body.cd-theme-dark .cd a.button,
body.cd-theme-dark .cd-directory .button,
body.cd-theme-dark .cd-single .button{
  background: rgba(255,255,255,.06);
  color: var(--cd-text);
  border-color: var(--cd-border);
}
body.cd-theme-dark .cd-pagination a, body.cd-theme-dark .cd-pagination span{ background: rgba(255,255,255,.06); }

/* Template 5: Soft Pastel */
body.cd-theme-soft{
  --cd-primary:#7C3AED;
  --cd-accent:#06B6D4;
  --cd-bg:#FBFBFF;
  --cd-card:#FFFFFF;
  --cd-border:rgba(124,58,237,.13);
  --cd-ring:rgba(124,58,237,.25);
}
body.cd-theme-soft{
  --cd-radius: 18px;
  --cd-radius-sm: 12px;
}
/* === CD_UI_POLISH_BEGIN (do not duplicate) ===================== */

/* Button polish: hover lift + primary darken */
.cd-btn, .cd a.button, .cd-directory .button, .cd-single .button, .cd-portal .button{
  transition: transform .12s ease, box-shadow .18s ease, filter .18s ease, background .18s ease, border-color .18s ease;
}
.cd-btn:hover, .cd a.button:hover, .cd-directory .button:hover, .cd-single .button:hover{
  transform: translateY(-1px);
  box-shadow: var(--cd-shadow-soft);
}
.cd-btn:active, .cd a.button:active, .cd-directory .button:active, .cd-single .button:active{
  transform: translateY(0);
}
.cd-btn--primary:hover{ filter: brightness(.97); }
.cd-btn--primary:active{ filter: brightness(.93); }

/* === CD_UI_POLISH_END ========================================= */

/* === CD_BADGES_THEME_BEGIN (do not duplicate) ================== */

/* Default badge already exists; add theme-specific personality */
body.cd-theme-modern .cd-badge{
  background: color-mix(in srgb, var(--cd-primary) 8%, #fff 92%);
  border-color: color-mix(in srgb, var(--cd-primary) 22%, var(--cd-border) 78%);
}
body.cd-theme-warm .cd-badge{
  background: color-mix(in srgb, var(--cd-accent) 12%, #fff 88%);
  border-color: color-mix(in srgb, var(--cd-accent) 34%, var(--cd-border) 66%);
}
body.cd-theme-soft .cd-badge{
  background: color-mix(in srgb, var(--cd-primary) 8%, #fff 92%);
  border-color: color-mix(in srgb, var(--cd-primary) 18%, var(--cd-border) 82%);
}
body.cd-theme-dark .cd-badge{
  background: color-mix(in srgb, var(--cd-primary) 16%, transparent 84%);
  border-color: color-mix(in srgb, var(--cd-primary) 48%, var(--cd-border) 52%);
  color: var(--cd-text);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--cd-primary) 22%, transparent 78%),
    0 0 18px color-mix(in srgb, var(--cd-primary) 22%, transparent 78%);
}
body.cd-theme-dark .cd-badge--accent{
  background: color-mix(in srgb, var(--cd-accent) 16%, transparent 84%);
  border-color: color-mix(in srgb, var(--cd-accent) 48%, var(--cd-border) 52%);
}

/* === CD_BADGES_THEME_END ====================================== */
/* === CD_SVG_ICONS_BEGIN (do not duplicate) ==================== */

.cd-ico--sm{ width:16px; height:16px; vertical-align:-3px; }
.cd-stat__icon .cd-ico{ width:22px; height:22px; }
.cd-cat__icon .cd-ico{ width:20px; height:20px; }
/* === CD_SVG_ICONS_END ======================================== */
/* =======================
   CD Owner UI (Portal + Ads)
   ======================= */

.cd-owner__card{ padding: var(--cd-3); }
.cd-owner__title{ text-align:center; }
.cd-owner__subtitle{ text-align:center; margin-bottom: var(--cd-2); }

.cd-owner__notice{
  padding: var(--cd-2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: var(--cd-2);
}

.cd-owner__notice-title{ font-weight: 1000; margin-bottom: 6px; }
.cd-owner__notice-text{ font-size: var(--cd-xs); color: var(--cd-muted); margin-bottom: 10px; }
.cd-owner__actions{ display:flex; gap: 10px; flex-wrap:wrap; }

.cd-owner__notice--warn{
  background: color-mix(in srgb, var(--cd-accent) 10%, #fff 90%);
  border-color: color-mix(in srgb, var(--cd-accent) 25%, var(--cd-border) 75%);
}

.cd-owner__notice--ok{
  background: color-mix(in srgb, var(--cd-accent) 10%, #fff 90%);
  border-color: color-mix(in srgb, var(--cd-accent) 25%, var(--cd-border) 75%);
}

.cd-owner__notice--danger{
  background: color-mix(in srgb, #ef4444 10%, #fff 90%);
  border-color: color-mix(in srgb, #ef4444 25%, var(--cd-border) 75%);
}

/* Danger badge (Unread) */
.cd-badge--danger{
  background:#ef4444;
  color:#fff;
  border-color: color-mix(in srgb, #ef4444 70%, #000 30%);
  padding: 4px 8px;
  line-height: 1;
}

/* Dark theme: badge glow */
body.cd-theme-dark .cd-badge--danger{
  box-shadow: 0 0 0 1px rgba(239,68,68,.25), 0 10px 24px rgba(239,68,68,.20);
}

/* Ads cards */
.cd-adcard__title{ font-weight: 1000; font-size: 18px; }

/* Messages */
.cd-admsgs{ padding: var(--cd-2); }
.cd-admsgs__list{ margin-top: var(--cd-2); display:grid; gap: var(--cd-gap); }

.cd-admsg{
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius-sm);
  padding: 12px;
  background: #fff;
}

.cd-admsg[data-sender="admin"]{
  background: color-mix(in srgb, var(--cd-primary) 10%, #fff 90%);
}

.cd-admsg[data-sender="owner"]{
  background: color-mix(in srgb, var(--cd-accent) 10%, #fff 90%);
}

.cd-admsg[data-sender="system"]{
  background: rgba(15,23,42,.04);
}

/* Dark theme message surfaces */
body.cd-theme-dark .cd-admsg{
  background: rgba(255,255,255,.06);
}
body.cd-theme-dark .cd-admsg[data-sender="admin"]{
  background: rgba(96,165,250,.12);
}
body.cd-theme-dark .cd-admsg[data-sender="owner"]{
  background: rgba(34,197,94,.10);
}
body.cd-theme-dark .cd-admsg[data-sender="system"]{
  background: rgba(255,255,255,.04);
}
/* === CD_ADS_UI_BEGIN ===================================== */

.cd-ads__grid{ margin-top: var(--cd-2); }

.cd-adcard{ padding: var(--cd-2); }
.cd-adcard__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: var(--cd-2);
  flex-wrap:wrap;
}
.cd-adcard__title{ font-weight: 1000; font-size: 18px; }

.cd-adcard__stats{
  margin-top: var(--cd-2);
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: var(--cd-gap);
}
@media (max-width:720px){
  .cd-adcard__stats{ grid-template-columns: 1fr; }
}

.cd-stat{
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius-sm);
  padding: 10px 12px;
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
}
.cd-stat__v{ font-weight: 1000; font-size: 18px; }

.cd-badge--danger{
  background:#ef4444;
  color:#fff;
  border-color: color-mix(in srgb, #ef4444 70%, #000 30%);
}

body.cd-theme-dark .cd-badge--danger{
  box-shadow: 0 0 0 1px rgba(239,68,68,.25), 0 10px 24px rgba(239,68,68,.20);
}

.cd-alert{
  padding: var(--cd-2);
  border-radius: var(--cd-radius);
  border: 1px solid var(--cd-border);
  margin: 12px 0;
  font-weight: 800;
}
.cd-alert--success{
  background: color-mix(in srgb, var(--cd-accent) 12%, var(--cd-card) 88%);
  border-color: color-mix(in srgb, var(--cd-accent) 25%, var(--cd-border) 75%);
}
.cd-alert--danger{
  background: color-mix(in srgb, #ef4444 10%, var(--cd-card) 90%);
  border-color: color-mix(in srgb, #ef4444 25%, var(--cd-border) 75%);
}

/* Messages */
.cd-admsgs{ padding: var(--cd-2); }
.cd-admsgs__list{ display:grid; gap: var(--cd-gap); margin-top: var(--cd-2); }
.cd-admsg{
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius-sm);
  padding: 12px;
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
}
.cd-admsg__body{ margin-top:8px; white-space:normal; }
.cd-admsg[data-sender="admin"]{
  background: color-mix(in srgb, var(--cd-primary) 10%, var(--cd-card) 90%);
}
.cd-admsg[data-sender="owner"]{
  background: color-mix(in srgb, var(--cd-accent) 10%, var(--cd-card) 90%);
}
.cd-admsg[data-sender="system"]{
  background: rgba(15,23,42,.04);
}
body.cd-theme-dark .cd-admsg[data-sender="system"]{
  background: rgba(255,255,255,.05);
}

.cd-admsgs__form{
  margin-top: var(--cd-2);
  display:grid;
  gap: var(--cd-gap);
}

/* New ad form */
.cd-adform__card{ padding: var(--cd-2); }
.cd-adform__actions{ margin-top: var(--cd-2); display:flex; gap:10px; flex-wrap:wrap; }
.cd-adform__readonly{ padding: 12px; }
.cd-adform__image{ padding: var(--cd-2); margin-top: var(--cd-2); }

/* === CD_ADS_UI_END ======================================= */
/* === CD_CHROME_OVERRIDE_BEGIN ===================================== */
/* ربط الهيدر/الفوتر بالـTokens بحيث يتغيروا مع الثيم (Soft/Modern/...) */

/* Main wrapper */
.cd-main{
  background: var(--cd-bg);
  min-height: 60vh;
}

/* Header */
.cd-hdr{
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
  border-bottom: 1px solid var(--cd-border);
  backdrop-filter: blur(10px);
}
.cd-hdr__wrap{
  max-width: var(--cd-wrap);
  margin-inline: auto;
  padding: 14px var(--cd-2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: var(--cd-2);
}
.cd-hdr__brand{
  display:flex; align-items:center; gap:10px;
  font-weight: 1000;
}
.cd-hdr__logo{
  width: 34px; height: 34px;
  border-radius: 10px;
  display:inline-flex; align-items:center; justify-content:center;
  background: color-mix(in srgb, var(--cd-primary) 14%, var(--cd-card) 86%);
  border: 1px solid color-mix(in srgb, var(--cd-primary) 22%, var(--cd-border) 78%);
  color: var(--cd-primary);
}
.cd-hdr__nav{
  display:flex; align-items:center; gap: 18px;
  font-weight: 800;
}
.cd-hdr__link{
  color: var(--cd-text);
  opacity: .92;
  text-decoration:none;
}
.cd-hdr__link:hover{
  color: var(--cd-primary);
  opacity: 1;
  text-decoration:none;
}

.cd-hdr__cta{ display:flex; gap:10px; align-items:center; }

/* Footer */
.cd-ftr{
  background: var(--cd-card);
  border-top: 1px solid var(--cd-border);
  color: var(--cd-text);
}
.cd-ftr__wrap{
  max-width: var(--cd-wrap);
  margin-inline: auto;
  padding: var(--cd-4) var(--cd-2) var(--cd-2);
}
.cd-ftr__cols{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--cd-3);
}
@media (max-width: 720px){
  .cd-hdr__nav{ display:none; }
  .cd-ftr__cols{ grid-template-columns: 1fr; }
}
.cd-ftr__title{
  font-weight: 1000;
  margin-bottom: 10px;
}
.cd-ftr__link{
  display:block;
  padding: 6px 0;
  color: var(--cd-muted);
  text-decoration:none;
  font-weight: 800;
}
.cd-ftr__link:hover{
  color: var(--cd-primary);
}

.cd-ftr__bar{
  margin-top: var(--cd-3);
  padding-top: var(--cd-2);
  border-top: 1px solid var(--cd-border);
  color: var(--cd-muted);
  font-weight: 800;
  font-size: var(--cd-small);
}

/* Dark theme polish */
body.cd-theme-dark .cd-hdr{
  background: color-mix(in srgb, var(--cd-card) 86%, transparent 14%);
}
body.cd-theme-dark .cd-hdr__link{ color: var(--cd-text); opacity: .9; }
body.cd-theme-dark .cd-ftr__link{ color: color-mix(in srgb, var(--cd-text) 72%, var(--cd-muted) 28%); }

/* === CD_CHROME_OVERRIDE_END ======================================= */
/* === CD_ICONS_BEGIN ======================================= */
.cd-ico{
  width: 18px;
  height: 18px;
  display:inline-block;
  vertical-align:-3px;
  fill: currentColor;
}
.cd-btn .cd-ico{ width:18px;height:18px; }
.cd-badge .cd-ico{ width:14px;height:14px; vertical-align:-2px; }

.cd-ico--sm{ width:14px;height:14px; }
.cd-ico--md{ width:18px;height:18px; }
.cd-ico--lg{ width:22px;height:22px; }

/* Dark theme slight glow on primary icons */
body.cd-theme-dark .cd-btn--primary .cd-ico{
  filter: drop-shadow(0 8px 18px rgba(212,175,55,.18));
}
/* === CD_ICONS_END ========================================= */
/* === CD_ADS_PACKAGES_BEGIN =================================== */
.cd-ads-packages__card{ padding: var(--cd-2); }

.cd-ads-packages__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: var(--cd-2);
  flex-wrap:wrap;
}

.cd-ads-packages__title{
  font-weight: 1000;
  font-size: 18px;
  line-height: 1.2;
}

.cd-ads-packages__meta{ margin-top: 10px; display:grid; gap:6px; }

.cd-ads-packages__sep{
  margin: var(--cd-2) 0;
  height: 1px;
  background: var(--cd-border);
}

.cd-ads-packages__details{ display:grid; gap: 10px; }

/* === CD_ADS_PACKAGES_END ===================================== */
/* ===== Icons (Global) ===== */
.cd-ico{
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: -3px;
  color: currentColor;
}

/* =========================================================
   Single Company layout & harmony (append to frontend.css)
   ========================================================= */

/* Layout grid */
.cd-single__grid{
  display:grid;
  gap: var(--cd-3);
  align-items:start;
}
@media (min-width: 1024px){
  .cd-single__grid{ grid-template-columns: minmax(0,1fr) 360px; }
}
@media (max-width: 1023px){
  .cd-single__grid{ grid-template-columns: 1fr; }
}

.cd-single__main{ display:grid; gap: var(--cd-2); }
.cd-single__aside{ display:grid; gap: var(--cd-2); }
@media (min-width: 1024px){
  .cd-single__aside{ position: sticky; top: 18px; }
}

/* Hero */
.cd-hero{
  display:grid;
  gap: var(--cd-2);
  align-items:start;
}
@media (min-width: 900px){
  .cd-hero{ grid-template-columns: 320px minmax(0,1fr); }
}

.cd-hero__logo{
  border-radius: calc(var(--cd-radius) + 2px);
  overflow:hidden;
  border: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
  box-shadow: var(--cd-shadow-soft);
}
.cd-logo__open{
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  display:block;
}
.cd-hero__logo img{
  width:100%;
  height:100%;
  display:block;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.cd-hero__info{ display:grid; gap: 10px; }
.cd-hero__badges{ gap: 8px; flex-wrap:wrap; }
.cd-hero__cta{ gap: 10px; flex-wrap:wrap; }
.cd-hero__owner{ gap: 10px; flex-wrap:wrap; }

/* Badges: open/closed */
.cd-badge-open{ border-color: color-mix(in srgb, var(--cd-accent) 45%, var(--cd-border) 55%); }
.cd-badge-closed{ opacity: .9; }

/* Buttons special */
.cd-btn--whatsapp{
  background: #25D366;
  border-color: color-mix(in srgb, #25D366 70%, #000 30%);
  color:#fff;
}
.cd-btn--whatsapp:hover{ filter: brightness(.98); }

/* KV grid */
.cd-kv{
  margin-top: var(--cd-2);
  display:grid;
  gap: var(--cd-gap);
}
@media (min-width: 900px){
  .cd-kv{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 899px){
  .cd-kv{ grid-template-columns: 1fr; }
}

.cd-kv-item{
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius-sm);
  background: color-mix(in srgb, var(--cd-card) 94%, transparent 6%);
  padding: 12px;
}
.cd-kv-item--wide{ grid-column: 1 / -1; }

.cd-kv-k{ font-weight: 900; font-size: 13px; color: var(--cd-muted); margin-bottom: 6px; }
.cd-kv-v{ font-weight: 800; }
.cd-kv-link{ color: var(--cd-primary); text-decoration: none; }
.cd-kv-link:hover{ text-decoration: underline; text-underline-offset: 3px; }

/* Tax block spacing */
.cd-tax-block{ margin-top: var(--cd-2); display:grid; gap: 8px; }

/* Similar companies */
.cd-similar{ display:grid; gap: 10px; }
@media (min-width: 700px){
  .cd-similar{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.cd-sim-item{
  display:block;
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius-sm);
  padding: 12px;
  background: color-mix(in srgb, var(--cd-card) 94%, transparent 6%);
  text-decoration:none;
}
.cd-sim-item:hover{ box-shadow: var(--cd-shadow-soft); transform: translateY(-1px); }
.cd-sim-title{ font-weight: 1000; margin-bottom: 4px; }
.cd-sim-meta{ color: var(--cd-muted); font-size: 13px; }

/* Social icons */
.cd-social-icons{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.cd-soc{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-card) 94%, transparent 6%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.cd-soc svg{ width: 20px; height: 20px; fill: currentColor; }
.cd-soc:hover{ box-shadow: var(--cd-shadow-soft); transform: translateY(-1px); }

/* Lightbox dialog */
.cd-logo__modal::backdrop{ background: rgba(0,0,0,.55); }
.cd-logo__modal{
  border: 0;
  padding: 0;
  background: transparent;
}
.cd-logo__figure{
  margin: 0;
  border-radius: var(--cd-radius);
  overflow:hidden;
  border: 1px solid var(--cd-border);
  background: var(--cd-card);
  box-shadow: var(--cd-shadow);
  max-width: min(92vw, 860px);
}
.cd-logo__full{ width:100%; height:auto; display:block; }
.cd-logo__cap{ padding: 10px 12px; font-weight: 900; color: var(--cd-text); }
.cd-logo__close{
  position:absolute;
  top: 10px;
  inset-inline-end: 10px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-card) 90%, transparent 10%);
  cursor:pointer;
  font-size: 18px;
}

/* Gallery placeholder */
.cd-gallery-empty{
  margin-top: var(--cd-2);
  padding: 12px;
  border: 1px dashed var(--cd-border);
  border-radius: var(--cd-radius-sm);
  color: var(--cd-muted);
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
}
/* === Icons (SVG) === */
.cd-ico{
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: -0.2em;
  flex: 0 0 auto;
}

/* === Better hover/active === */
.cd-btn--primary:hover{ filter: brightness(.97); }
.cd-btn:hover{ transform: translateY(-1px); }
.cd-btn:active{ transform: translateY(0); }

/* === Theme badge accents (especially Dark) === */
body.cd-theme-dark .cd-badge{
  background: rgba(212,175,55,.10);
  border-color: rgba(212,175,55,.35);
  box-shadow: 0 0 0 1px rgba(212,175,55,.20), 0 10px 22px rgba(0,0,0,.25);
}
body.cd-theme-dark .cd-rate{
  color: var(--cd-text);
}
body.cd-theme-soft .cd-badge{
  background: color-mix(in srgb, var(--cd-primary) 12%, #fff 88%);
}
/* === Luxury polish for single company CTA bar === */
.cd-cta-bar--lux{
  background: color-mix(in srgb, var(--cd-card) 86%, transparent 14%);
  border-color: color-mix(in srgb, var(--cd-border) 70%, var(--cd-primary) 30%);
}
body.cd-theme-dark .cd-cta-bar--lux{
  background: rgba(15,23,42,.72);
  border-color: rgba(212,175,55,.35);
  box-shadow: 0 18px 40px rgba(0,0,0,.45);
}

/* Hero luxury */
.cd-hero--lux{
  padding: var(--cd-2);
  border-radius: var(--cd-radius);
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
  border: 1px solid var(--cd-border);
}
body.cd-theme-dark .cd-hero--lux{
  background: rgba(15,23,42,.72);
  border-color: rgba(229,231,235,.14);
}
/* === KV Luxury Cards === */
.cd-kv--lux .cd-kv-item{
  position: relative;
  padding: 14px 14px 14px 14px;
  overflow: hidden;
}
.cd-kv--lux .cd-kv-ico{
  position:absolute;
  top: 12px;
  inset-inline-end: 12px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-card) 86%, transparent 14%);
  box-shadow: var(--cd-shadow-soft);
}
.cd-kv--lux .cd-kv-ico .cd-ico{ width:18px; height:18px; }

/* subtle premium glow per theme */
body.cd-theme-dark .cd-kv--lux .cd-kv-ico{
  background: rgba(15,23,42,.65);
  border-color: rgba(212,175,55,.30);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}
body.cd-theme-soft .cd-kv--lux .cd-kv-ico{
  border-color: rgba(124,58,237,.20);
}
/* === Related companies (luxury) === */
.cd-related .cd-relcard{
  display:block;
  text-decoration:none !important;
  transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease;
}
.cd-related .cd-relcard:hover{
  transform: translateY(-2px);
  box-shadow: var(--cd-shadow);
  border-color: color-mix(in srgb, var(--cd-primary) 28%, var(--cd-border) 72%);
}
.cd-related .cd-card__title{ font-size: 17px; }
.cd-related .cd-card__logo{ width:56px; height:56px; }
body.cd-theme-dark .cd-related .cd-relcard:hover{
  border-color: rgba(212,175,55,.38);
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
}
/* === Related companies (Luxury v2) === */
.cd-related .cd-relgrid{ align-items: stretch; }

.cd-related .cd-relcard{
  display:flex;
  flex-direction:column;
  width:100%;
  overflow:hidden;
  text-decoration:none !important;
  transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease;
}
.cd-related .cd-relcard:hover{
  transform: translateY(-2px);
  box-shadow: var(--cd-shadow);
  border-color: color-mix(in srgb, var(--cd-primary) 28%, var(--cd-border) 72%);
}

/* Media */
.cd-relcard__media{
  width:100%;
  aspect-ratio: 16 / 9;
  background: color-mix(in srgb, var(--cd-border) 18%, transparent 82%);
}
.cd-relcard__media img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.cd-relcard__ph{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color: var(--cd-muted);
}
.cd-relcard__ph .cd-ico{ width:40px; height:40px; opacity:.7; }

/* Body */
.cd-relcard__body{ padding: var(--cd-2); display:grid; gap: 10px; }

/* FIX: منع لفّ الحروف حرف حرف */
.cd-relcard__top{ min-width:0; }
.cd-related .cd-card__title{
  font-size: 18px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cd-related .cd-card__meta{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Dark luxury enhancement */
body.cd-theme-dark .cd-related .cd-relcard:hover{
  border-color: rgba(212,175,55,.38);
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
}
body.cd-theme-dark .cd-relcard__media{
  background: rgba(255,255,255,.06);
}


/* =========================================================
   Single Company – Premium Hero + Sidebar Frames
   (Cover 16:9 + Desc under title + Rating split + Sidebar frames)
   ========================================================= */

/* Hero cover 16:9 */
.cd-hero--lux .cd-hero__cover{
  margin-bottom: var(--cd-2);
}
.cd-hero--lux .cd-cover__open{
  all: unset;
  display:block;
  width:100%;
  cursor: zoom-in;
}
.cd-hero--lux .cd-cover__img{
  width:100%;
  aspect-ratio: 16 / 9;
  height:auto;
  object-fit: cover;
  border-radius: var(--cd-radius);
  border: 1px solid var(--cd-border);
  box-shadow: var(--cd-shadow-soft);
  display:block;
}
@supports not (aspect-ratio: 16 / 9){
  .cd-hero--lux .cd-cover__img{ height: 260px; }
}

/* Modal */
.cd-cover__modal{
  border: none;
  padding: 0;
  background: transparent;
}
.cd-cover__modal::backdrop{
  background: rgba(0,0,0,.55);
}
.cd-cover__figure{
  margin: 0;
  background: var(--cd-card);
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius);
  box-shadow: var(--cd-shadow);
  overflow:hidden;
  max-width: min(920px, 92vw);
}
.cd-cover__full{
  width:100%;
  height:auto;
  max-height: 72vh;
  object-fit: contain;
  display:block;
  background: color-mix(in srgb, var(--cd-card) 90%, transparent 10%);
}
.cd-cover__cap{
  padding: 12px 14px;
  font-weight: 900;
  color: var(--cd-text);
}
.cd-cover__close{
  position:absolute;
  inset-inline-end: 10px;
  top: 10px;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-card) 88%, transparent 12%);
  color: var(--cd-text);
  cursor:pointer;
  font-weight: 900;
}

/* Description under title (make it visually prominent) */
.cd-hero__desc{
  margin: 8px 0 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
  color: color-mix(in srgb, var(--cd-text) 78%, var(--cd-muted) 22%);
}

/* Rating split lines */
.cd-hero__rating{
  display:grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius-sm);
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
}
.cd-hero__rating-line{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 12px;
}
.cd-hero__rating-k{ font-weight: 900; }
.cd-hero__rating-v{ font-weight: 900; }

/* Sidebar: one card with internal frames */
.cd-asidebox{
  padding: var(--cd-2);
  display:grid;
  gap: var(--cd-2);
}
.cd-asidebox__section{
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius);
  background: color-mix(in srgb, var(--cd-card) 94%, transparent 6%);
  box-shadow: none;
  overflow:hidden;
  transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.cd-asidebox__section:hover{
  transform: translateY(-1px);
  box-shadow: var(--cd-shadow-soft);
  border-color: color-mix(in srgb, var(--cd-primary) 22%, var(--cd-border) 78%);
}
.cd-asidebox__head{
  padding: 12px 14px;
  border-bottom: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-card) 86%, transparent 14%);
}
.cd-asidebox__head .cd-h2{
  margin:0;
  font-size: 18px;
}
.cd-asidebox__body{
  padding: 12px 14px;
}

/* Social icons hover frame */
.cd-asidebox__section--social .cd-social-icons{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.cd-asidebox__section--social .cd-soc{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--cd-border);
  background: color-mix(in srgb, var(--cd-card) 92%, transparent 8%);
  display:flex;
  align-items:center;
  justify-content:center;
  transition: transform .12s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.cd-asidebox__section--social .cd-soc:hover{
  transform: translateY(-1px);
  box-shadow: var(--cd-shadow-soft);
  border-color: color-mix(in srgb, var(--cd-primary) 28%, var(--cd-border) 72%);
  background: color-mix(in srgb, var(--cd-primary) 10%, var(--cd-card) 90%);
}
.cd-asidebox__section--social .cd-soc svg{
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* Dark theme refinements */
body.cd-theme-dark .cd-hero__desc{ color: rgba(229,231,235,.88); }
body.cd-theme-dark .cd-hero__rating{
  background: rgba(255,255,255,.06);
  border-color: rgba(212,175,55,.26);
}
body.cd-theme-dark .cd-asidebox__section{
  background: rgba(255,255,255,.04);
}
body.cd-theme-dark .cd-asidebox__head{
  background: rgba(255,255,255,.05);
}
body.cd-theme-dark .cd-asidebox__section:hover{
  border-color: rgba(212,175,55,.38);
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
}
.cd-sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
.cd-hdr__logoimg{
  max-height:48px;
  width:auto;
  display:block;
}

/* ========== Mobile Header ========== */
@media (max-width: 991px){

  .cd-hdr__wrap{
    display:grid;
    grid-template-columns: 44px 1fr;
    grid-template-areas:
      "toggle brand"
      "nav nav"
      "cta cta";
    gap:12px;
    align-items:center;
  }

  .cd-menu-toggle{
    grid-area:toggle;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;height:44px;
    border:0;
    border-radius:12px;
    background:#16253a;
    cursor:pointer;
  }

  .cd-menu-toggle span{
    width:20px;height:2px;background:#fff;
    position:relative;display:block;
  }
  .cd-menu-toggle span:before,
  .cd-menu-toggle span:after{
    content:""; position:absolute; left:0;
    width:20px;height:2px;background:#fff;
  }
  .cd-menu-toggle span:before{ top:-6px; }
  .cd-menu-toggle span:after{ top:6px; }

  .cd-hdr__brand{ grid-area:brand; display:flex; align-items:center; gap:10px; }
  .cd-hdr__nav{ grid-area:nav; display:none; }
  .cd-hdr__nav.active{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:14px;
    border-radius:16px;
    background:#0f1b2d;
  }

  .cd-hdr__cta{ grid-area:cta; display:flex; flex-direction:column; gap:10px; }
  .cd-hdr__cta .cd-btn{ width:100%; text-align:center; }

  /* يمنع تصغير اللوجو الغريب */
  .cd-hdr__logoimg{ height:42px; max-width:180px; }
}
/* =========================
   CD HEADER – MOBILE (FINAL)
   - No shrink logo
   - Menu drawer neat
   - CTA full width
========================= */

/* مهم: خلي الهيدر ثابت على كل الثيمات */
.cd-hdr{ position: sticky; top:0; z-index:9999; }

/* اللوجو */
.cd-hdr__logoimg{
  height:44px;
  width:auto;
  max-width:180px;
  object-fit:contain;
  display:block;
}

/* Desktop default (لو احتجت) */
.cd-hdr__wrap{
  max-width: var(--cd-wrap, 1160px);
  margin-inline:auto;
  padding: 14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}

.cd-menu-toggle{ display:none; }

/* Mobile */
@media (max-width: 991px){

  .cd-hdr__wrap{
    display:grid;
    grid-template-columns: 44px 1fr;
    grid-template-areas:
      "toggle brand"
      "nav nav"
      "cta cta";
    gap:12px;
    align-items:center;
  }

  .cd-menu-toggle{
    grid-area:toggle;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background: rgba(15,23,42,.55);
    cursor:pointer;
  }

  .cd-menu-toggle span{
    width:20px;
    height:2px;
    background:#fff;
    position:relative;
    display:block;
  }
  .cd-menu-toggle span::before,
  .cd-menu-toggle span::after{
    content:"";
    position:absolute;
    left:0;
    width:20px;
    height:2px;
    background:#fff;
  }
  .cd-menu-toggle span::before{ top:-6px; }
  .cd-menu-toggle span::after{ top:6px; }

  .cd-hdr__brand{
    grid-area:brand;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }

  /* ممنوع تصغير الشعار */
  .cd-hdr__logoimg{
    height:46px;
    max-width:200px;
  }

  /* القائمة */
  .cd-hdr__nav{
    grid-area:nav;
    display:none;
  }
  .cd-hdr__nav.active{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:16px;
    border-radius:18px;
    background: rgba(15,23,42,.85);
    border:1px solid rgba(255,255,255,.10);
  }

  .cd-hdr__link{
    color:#fff !important;
    font-weight:900;
    padding:10px 6px;
  }

  /* الأزرار */
  .cd-hdr__cta{
    grid-area:cta;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .cd-hdr__cta .cd-btn{
    width:100%;
    justify-content:center;
  }
}
/* ---------- Inputs / selects / textarea ---------- */
.cd-add-or-claim .cd-input,
.cd-add-or-claim .cd-select,
.cd-add-or-claim input[type="text"],
.cd-add-or-claim input[type="email"],
.cd-add-or-claim input[type="url"],
.cd-add-or-claim input[type="tel"],
.cd-add-or-claim textarea,
.cd-add-or-claim select{
  color: var(--aoc-text) !important;
  background: color-mix(in srgb, var(--aoc-card) 88%, transparent) !important;
  border: 1px solid var(--aoc-line) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  outline: none !important;
}

.cd-add-or-claim input::placeholder,
.cd-add-or-claim textarea::placeholder{
  color: color-mix(in srgb, var(--aoc-muted) 85%, transparent) !important;
}

/* Focus ring */
.cd-add-or-claim .cd-input:focus,
.cd-add-or-claim .cd-select:focus,
.cd-add-or-claim input:focus,
.cd-add-or-claim textarea:focus,
.cd-add-or-claim select:focus{
  border-color: color-mix(in srgb, var(--aoc-accent) 45%, var(--aoc-line)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--aoc-accent) 18%, transparent) !important;
}

/* ---------- Buttons (WordPress .button + your .cd-btn) ---------- */
.cd-add-or-claim .button,
.cd-add-or-claim .cd-btn{
  background: var(--cd-btn-bg) !important;
  border: 1px solid var(--cd-btn-border) !important;
  color: var(--cd-btn-text) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-weight: 1000 !important;
  text-decoration: none !important;
}

.cd-add-or-claim .button:hover,
.cd-add-or-claim .cd-btn:hover{
  transform: translateY(-1px);
}

.cd-add-or-claim .button.button-primary,
.cd-add-or-claim .cd-btn--primary{
  background: color-mix(in srgb, var(--aoc-accent) 16%, transparent) !important;
  border-color: color-mix(in srgb, var(--aoc-accent) 28%, transparent) !important;
}

/* Secondary (مثل زر: لم أجد نشاطي...) */
.cd-add-or-claim .button.button-secondary{
  background: color-mix(in srgb, var(--aoc-accent-2) 12%, transparent) !important;
  border-color: color-mix(in srgb, var(--aoc-accent-2) 22%, transparent) !important;
}

/* ---------- Required badge ---------- */
.cd-add-or-claim .cd-req{
  color: var(--aoc-danger) !important;
}

/* ---------- Accordion (details/summary) ---------- */
.cd-add-or-claim .cd-acc-item{
  border: 1px solid var(--aoc-line) !important;
  border-radius: 14px !important;
  background: var(--aoc-card) !important;
  overflow: hidden !important;
}

.cd-add-or-claim .cd-acc-head{
  background: color-mix(in srgb, var(--aoc-soft) 60%, transparent) !important;
  color: var(--aoc-text) !important;
  padding: 12px 14px !important;
  font-weight: 1000 !important;
}

.cd-add-or-claim .cd-acc-body{
  border-top: 1px solid var(--aoc-line) !important;
  padding: 12px 14px !important;
}

/* Helper text */
.cd-add-or-claim .cd-help{
  color: var(--aoc-muted) !important;
}

/* ---------- Info alert ---------- */
.cd-add-or-claim .cd-alert.cd-alert-info{
  border: 1px solid color-mix(in srgb, var(--aoc-accent-2) 28%, var(--aoc-line)) !important;
  background: color-mix(in srgb, var(--aoc-accent-2) 10%, transparent) !important;
  color: var(--aoc-text) !important;
}

/* ---------- Layout: search row on mobile ---------- */
@media (max-width: 640px){
  .cd-add-or-claim .cd-aoc-search > div[style*="display:flex"]{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .cd-add-or-claim .cd-aoc-q{
    min-width: 0 !important;
  }
}
/* Ensure header/meta text always uses tokens (prevents 'invisible text') */
.cd-archive__header,
.cd-archive__header .cd-archive__title,
.cd-archive__header .cd-archive__subtitle,
.cd-results__meta,
.cd-results__count{
  color: var(--cd-text);
}

.cd-archive__header .cd-archive__subtitle{
  color: var(--cd-muted);
}
/* ==================================================
   CD DESIGN TOKENS (Base)
   - All UI should use these vars, not hard colors
   ================================================== */

:root{
  /* Typography */
  --cd-font: inherit;

  /* Core colors (default theme) */
  --cd-text: #111827;     /* text */
  --cd-muted: #6b7280;    /* secondary */
  --cd-accent: #2563eb;   /* primary accent */
  --cd-accent-2: #f59e0b; /* secondary accent (rating/warn) */

  /* Surfaces */
  --cd-page-bg: #ffffff;
  --cd-card-bg: #ffffff;
  --cd-pill-bg: rgba(17,24,39,.06);

  /* Borders / dividers */
  --cd-line: rgba(17,24,39,.12);
  --cd-dash: rgba(17,24,39,.10);

  /* Buttons */
  --cd-btn-bg: rgba(17,24,39,.06);
  --cd-btn-border: rgba(17,24,39,.14);
  --cd-btn-text: var(--cd-text);

  /* Meta */
  --cd-meta-text: var(--cd-muted);
  --cd-meta-label: var(--cd-text);

  /* Rating */
  --cd-rating: var(--cd-accent-2);
}

/* ==================================================
   THEMES (5) – override tokens only
   IMPORTANT: replace body classes with your real ones
   ================================================== */

/* 1) Dark */
body.cd-theme-dark{
  --cd-text: rgba(255,255,255,.92);
  --cd-muted: rgba(255,255,255,.70);
  --cd-accent: #60a5fa;
  --cd-accent-2: #fbbf24;

  --cd-page-bg: #0b1220;
  --cd-card-bg: rgba(255,255,255,.06);
  --cd-pill-bg: rgba(255,255,255,.10);

  --cd-line: rgba(255,255,255,.14);
  --cd-dash: rgba(255,255,255,.10);

  --cd-btn-bg: rgba(255,255,255,.10);
  --cd-btn-border: rgba(255,255,255,.16);
  --cd-btn-text: rgba(255,255,255,.94);

  --cd-meta-text: rgba(255,255,255,.72);
  --cd-meta-label: rgba(255,255,255,.92);

  --cd-rating: #fbbf24;
}

/* 2) Warm Local (فاتح دافئ) */
body.cd-theme-warm-local{
  --cd-text: #111827;
  --cd-muted: rgba(17,24,39,.68);
  --cd-accent: #ea580c;     /* orange */
  --cd-accent-2: #b45309;   /* warm rating */

  --cd-page-bg: #fbf7f2;
  --cd-card-bg: #ffffff;
  --cd-pill-bg: rgba(234,88,12,.08);

  --cd-line: rgba(17,24,39,.10);
  --cd-dash: rgba(17,24,39,.10);

  --cd-btn-bg: rgba(234,88,12,.10);
  --cd-btn-border: rgba(234,88,12,.22);
  --cd-btn-text: #111827;

  --cd-meta-text: rgba(17,24,39,.68);
  --cd-meta-label: #111827;

  --cd-rating: #b45309;
}

/* 3) Light Clean (أبيض نظيف) */
body.cd-theme-light-clean{
  --cd-text: #0f172a;
  --cd-muted: rgba(15,23,42,.65);
  --cd-accent: #2563eb;
  --cd-accent-2: #f59e0b;

  --cd-page-bg: #ffffff;
  --cd-card-bg: #ffffff;
  --cd-pill-bg: rgba(37,99,235,.08);

  --cd-line: rgba(15,23,42,.10);
  --cd-dash: rgba(15,23,42,.10);

  --cd-btn-bg: rgba(37,99,235,.10);
  --cd-btn-border: rgba(37,99,235,.18);
  --cd-btn-text: #0f172a;

  --cd-rating: #f59e0b;
}

/* 4) Neutral Gray (رمادي أنيق) */
body.cd-theme-neutral{
  --cd-text: #111827;
  --cd-muted: rgba(17,24,39,.62);
  --cd-accent: #0ea5e9;
  --cd-accent-2: #f59e0b;

  --cd-page-bg: #f6f7f9;
  --cd-card-bg: #ffffff;
  --cd-pill-bg: rgba(17,24,39,.06);

  --cd-line: rgba(17,24,39,.10);
  --cd-dash: rgba(17,24,39,.10);

  --cd-btn-bg: rgba(17,24,39,.06);
  --cd-btn-border: rgba(17,24,39,.14);
  --cd-btn-text: #111827;
}

/* 5) Brand (حسب هوية الموقع) */
body.cd-theme-brand{
  --cd-text: #111827;
  --cd-muted: rgba(17,24,39,.68);
  --cd-accent: #16a34a;   /* green brand */
  --cd-accent-2: #ef4444; /* red highlight */

  --cd-page-bg: #ffffff;
  --cd-card-bg: #ffffff;
  --cd-pill-bg: rgba(22,163,74,.08);

  --cd-line: rgba(17,24,39,.10);
  --cd-dash: rgba(17,24,39,.10);

  --cd-btn-bg: rgba(22,163,74,.10);
  --cd-btn-border: rgba(22,163,74,.20);
  --cd-btn-text: #111827;
}

/* ==================================================
   CD ICONS – CSS Mask Icon Set
   Fix for empty <span class="cd-ico cd-ico--..."></span>
   ================================================== */

.cd-ico{
  /* base box */
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* icon color */
  color: currentColor;
  position: relative;

  /* default (in case class missing) */
  --cd-ico: none;
}

/* If there is an inline svg in some places, keep it working */
.cd-ico svg{
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* CSS-generated icon */
.cd-ico::before{
  content:"";
  width: 100%;
  height: 100%;
  background: currentColor;

  -webkit-mask: var(--cd-ico) center / contain no-repeat;
          mask: var(--cd-ico) center / contain no-repeat;
}

/* ----------------- Per Icon ----------------- */

/* Website / Globe */
.cd-ico--site{ --cd-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202a10%2010%200%20100%2020%2010%2010%200%20000-20zm7.93%209h-3.18a15.7%2015.7%200%2000-1.16-5.02A8.02%208.02%200%200119.93%2011zM12%204c.9%201.28%201.63%203.36%201.93%207H10.07c.3-3.64%201.03-5.72%201.93-7zM4.07%2013h3.18c.2%201.87.62%203.6%201.16%205.02A8.02%208.02%200%20014.07%2013zM7.25%2011H4.07a8.02%208.02%200%20014.34-5.02A15.7%2015.7%200%20007.25%2011zm0%202h3.02c.28%202.97.9%205.01%201.73%206.3-1.01-.43-2.01-2.49-2.46-6.3H7.25zm6.23%206.3c.83-1.29%201.45-3.33%201.73-6.3h3.02c-.45%203.81-1.45%205.87-2.46%206.3zM13.73%2013c-.18%201.79-.53%203.4-1.03%204.6-.23.56-.48%201.02-.7%201.33-.22-.31-.47-.77-.7-1.33-.5-1.2-.85-2.81-1.03-4.6h3.46zm2.99%200h2.69a8.02%208.02%200%2001-4.34%205.02c.54-1.42.96-3.15%201.16-5.02z%22/%3E%3C/svg%3E"); }

/* Phone */
.cd-ico--phone{ --cd-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6.62%2010.79a15.05%2015.05%200%20006.59%206.59l2.2-2.2a1%201%200%20011.01-.24c1.12.37%202.33.57%203.58.57a1%201%200%20011%201V20a1%201%200%2001-1%201C10.85%2021%203%2013.15%203%203a1%201%200%20011-1h3.5a1%201%200%20011%201c0%201.25.2%202.46.57%203.58a1%201%200%2001-.24%201.01l-2.21%202.2z%22/%3E%3C/svg%3E"); }

/* WhatsApp */
.cd-ico--wa{ --cd-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20.52%203.48A11.8%2011.8%200%200012.05%200C5.47%200%20.12%205.35.12%2011.93c0%202.1.55%204.15%201.6%205.96L0%2024l6.26-1.64a11.9%2011.9%200%20005.79%201.48h.01c6.58%200%2011.93-5.35%2011.93-11.93%200-3.19-1.24-6.2-3.47-8.43zM12.05%2021.5h-.01a9.56%209.56%200%2001-4.87-1.33l-.35-.2-3.72.97%201-3.63-.23-.37a9.55%209.55%200%2001-1.46-5.01c0-5.28%204.3-9.58%209.6-9.58%202.56%200%204.96%201%206.77%202.81a9.52%209.52%200%20012.8%206.77c0%205.29-4.31%209.57-9.53%209.57zm5.54-7.16c-.3-.15-1.78-.88-2.06-.98-.28-.1-.48-.15-.68.15-.2.3-.78.98-.96%201.18-.18.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.48-.89-.79-1.49-1.77-1.66-2.07-.17-.3-.02-.46.13-.6.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.68-1.64-.93-2.25-.24-.58-.49-.5-.68-.51h-.58c-.2 0-.52.07-.8.37-.28.3-1.05%201.03-1.05%202.52s1.08%202.93%201.23%203.14c.15.2%202.13%203.25%205.16%204.56.72.31%201.28.5%201.72.64.72.23%201.38.2%201.9.12.58-.09%201.78-.73%202.03-1.43.25-.7.25-1.3.18-1.43-.07-.13-.27-.2-.57-.35z%22/%3E%3C/svg%3E"); }

/* Facebook */
.cd-ico--fb{ --cd-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M22%2012a10%2010%200%2010-11.56%209.87v-6.98H7.9V12h2.54V9.8c0-2.5%201.49-3.89%203.77-3.89%201.09%200%202.23.2%202.23.2v2.46h-1.26c-1.24%200-1.62.77-1.62%201.56V12h2.76l-.44%202.89h-2.32v6.98A10%2010%200%200022%2012z%22/%3E%3C/svg%3E"); }

/* Instagram */
.cd-ico--ig{ --cd-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%202h10a5%205%200%20015%205v10a5%205%200%2001-5%205H7a5%205%200%2001-5-5V7a5%205%200%20015-5zm10%202H7a3%203%200%2000-3%203v10a3%203%200%20003%203h10a3%203%200%20003-3V7a3%203%200%2000-3-3zm-5%203.5A4.5%204.5%200%201112%2016.5%204.5%204.5%200%200112%207.5zm0%202A2.5%202.5%200%201014.5%2012%202.5%202.5%200%200012%209.5zM17.75%206.25a1%201%200%20110%202%201%201%200%20010-2z%22/%3E%3C/svg%3E"); }

/* X */
.cd-ico--x{ --cd-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M18.9%202H22l-6.78%207.75L23.2%2022h-6.9l-5.4-6.6L5.1%2022H2l7.3-8.35L1%202h7l4.88%206.06L18.9%202zm-1.2%2018h1.72L6.2%203.93H4.35L17.7%2020z%22/%3E%3C/svg%3E"); }

/* LinkedIn */
.cd-ico--in{ --cd-ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M4.98%203.5A2.5%202.5%200%20112.5%206a2.5%202.5%200%20012.48-2.5zM3%208.98h3.96V21H3V8.98zM9.02%208.98h3.8v1.64h.05a4.17%204.17%200%20013.75-2.06c4.01%200%204.75%202.64%204.75%206.08V21h-3.96v-5.52c0-1.32-.02-3.02-1.84-3.02-1.85%200-2.13%201.44-2.13%202.93V21H9.02V8.98z%22/%3E%3C/svg%3E"); }

/* ==================================================
   CD UI Visibility Utilities (must override theme)
   ================================================== */
body.cd-ui .cd-mobile-only{ display:none !important; }
body.cd-ui .cd-desktop-only{ display:block !important; }

@media (max-width: 991px){
  body.cd-ui .cd-mobile-only{ display:block !important; }
  body.cd-ui .cd-desktop-only{ display:none !important; }
}
/* ==================================================
   Mobile Sheet <dialog> – never reserve layout space
   ================================================== */
body.cd-ui dialog.cd-msheet{ padding:0; border:0; background:transparent; }

body.cd-ui dialog.cd-msheet:not([open]){
  display:none !important;
}

body.cd-ui dialog.cd-msheet[open]{
  display:block !important;     /* مهم */
  position:fixed !important;    /* Overlay */
  inset:0 !important;
  z-index:999999 !important;
}
/* Guard: dialog closed should not reserve space */
body.cd-ui dialog.cd-msheet:not([open]){
  display:none !important;
}
body.cd-ui dialog.cd-msheet[open]{
  display:block !important;
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
}

