/* Ibdaa Continuing Education catalog — scoped to #ibdaa-ce */
#ibdaa-ce{
  --ce-primary:#1D3A89; --ce-navy:#002559; --ce-blue2:#2b50b8;
  --ce-gold:#FFD324; --ce-wine:#98475B;
  --ce-ink:#1b2440; --ce-muted:#5b6478; --ce-line:#e6e9f2;
  --ce-bg:#f6f8fc; --ce-card:#ffffff; --ce-radius:16px;
  --ce-shadow:0 1px 2px rgba(16,24,64,.06),0 8px 24px rgba(16,24,64,.06);
  font-family:inherit; color:var(--ce-ink);
  max-width:1200px; margin:0 auto; padding:0 16px 64px;
  box-sizing:border-box;
}
#ibdaa-ce *,#ibdaa-ce *::before,#ibdaa-ce *::after{box-sizing:border-box;}
#ibdaa-ce[dir="rtl"]{text-align:right;}

/* ---- hero ---- */
.ce-hero{
  position:relative; overflow:hidden; border-radius:24px;
  background:radial-gradient(1200px 400px at 80% -10%,rgba(255,211,36,.18),transparent 60%),
             linear-gradient(135deg,var(--ce-navy) 0%,var(--ce-primary) 60%,var(--ce-blue2) 100%);
  color:#fff; padding:54px 40px 44px; margin:8px 0 28px;
}
.ce-hero::after{content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 39h40M39 0v40' stroke='%23ffffff' stroke-opacity='.05' fill='none'/%3E%3C/svg%3E");
  pointer-events:none;}
.ce-hero>*{position:relative;z-index:1;}
.ce-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ce-gold);margin-bottom:14px;}
.ce-title{font-size:clamp(28px,4.5vw,46px);line-height:1.1;margin:0 0 14px;font-weight:800;}
.ce-subtitle{max-width:760px;font-size:clamp(15px,1.6vw,18px);line-height:1.7;
  color:rgba(255,255,255,.88);margin:0;}
.ce-stats{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.ce-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  border-radius:14px;padding:14px 20px;min-width:120px;backdrop-filter:blur(2px);}
.ce-stat-n{display:block;font-size:26px;font-weight:800;color:#fff;line-height:1;}
.ce-stat-l{display:block;font-size:12.5px;margin-top:6px;color:rgba(255,255,255,.78);}

/* ---- toolbar ---- */
.ce-toolbar{position:sticky;top:0;z-index:5;background:var(--ce-bg);
  padding:14px 0 10px;margin:0 -16px;padding-inline:16px;}
.ce-search{position:relative;margin-bottom:14px;}
.ce-search input{width:100%;border:1.5px solid var(--ce-line);background:#fff;
  border-radius:14px;padding:15px 50px;font-size:16px;color:var(--ce-ink);
  transition:border-color .15s,box-shadow .15s;font-family:inherit;}
.ce-search input:focus{outline:none;border-color:var(--ce-primary);
  box-shadow:0 0 0 4px rgba(29,58,137,.12);}
.ce-search::before{content:"";position:absolute;inset-inline-start:18px;top:50%;
  width:20px;height:20px;margin-top:-10px;opacity:.5;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D3A89' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4-4'/%3E%3C/svg%3E");}

.ce-cats{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.ce-cats::-webkit-scrollbar{height:6px;}
.ce-cats::-webkit-scrollbar-thumb{background:#cdd5e6;border-radius:6px;}
.ce-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;
  border:1.5px solid var(--ce-line);background:#fff;color:var(--ce-ink);
  border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:600;
  cursor:pointer;white-space:nowrap;transition:all .15s;font-family:inherit;}
.ce-chip i{font-style:normal;font-size:11.5px;font-weight:700;background:#eef1f8;
  color:var(--ce-muted);border-radius:999px;padding:2px 8px;min-width:22px;text-align:center;}
.ce-chip:hover{border-color:#b9c4e0;}
.ce-chip-on{background:var(--ce-primary);border-color:var(--ce-primary);color:#fff;}
.ce-chip-on i{background:rgba(255,255,255,.22);color:#fff;}

/* ---- results ---- */
.ce-results{padding-top:18px;}
.ce-count{font-size:14px;color:var(--ce-muted);margin:0 0 16px;min-height:18px;}
.ce-count b{color:var(--ce-ink);font-weight:700;}

.ce-grid{display:grid;gap:18px;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.ce-card{position:relative;background:var(--ce-card);border:1px solid var(--ce-line);
  border-radius:var(--ce-radius);padding:22px 22px 20px;box-shadow:var(--ce-shadow);
  display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s;}
.ce-card::before{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;
  width:100%;height:4px;border-radius:var(--ce-radius) var(--ce-radius) 0 0;
  background:linear-gradient(90deg,var(--ce-primary),var(--ce-blue2));opacity:0;transition:opacity .15s;}
.ce-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(16,24,64,.12);border-color:#d4dcf0;}
.ce-card:hover::before{opacity:1;}
.ce-card-cat{display:inline-block;align-self:flex-start;font-size:11.5px;font-weight:700;
  color:var(--ce-primary);background:#eef2fb;border-radius:8px;padding:5px 10px;margin-bottom:12px;
  letter-spacing:.01em;}
.ce-card-title{font-size:17.5px;line-height:1.4;font-weight:700;color:var(--ce-ink);
  margin:0 0 16px;flex:0 0 auto;min-height:2.8em;display:flex;align-items:flex-start;}
.ce-card-meta{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px;flex:1 1 auto;}
.ce-card-meta li{position:relative;padding-inline-start:26px;font-size:13px;color:var(--ce-muted);line-height:1.45;}
.ce-card-meta li::before{content:"";position:absolute;inset-inline-start:0;top:1px;width:18px;height:18px;
  background:no-repeat center/16px;opacity:.85;}
.ce-m-hours::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D3A89' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");}
.ce-m-days::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D3A89' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4.5' width='18' height='17' rx='2'/%3E%3Cpath d='M3 9h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E");}
.ce-m-mode::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D3A89' stroke-width='2' stroke-linecap='round'%3E%3Crect x='2.5' y='4' width='19' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");}
.ce-m-kit::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2371B131' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");}
.ce-card-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:var(--ce-primary);color:#fff;text-decoration:none;font-weight:700;font-size:14px;
  border-radius:11px;padding:12px 16px;transition:background .15s,transform .1s;}
.ce-card-cta span{font-size:18px;line-height:1;transition:transform .15s;}
.ce-card-cta:hover{background:var(--ce-navy);color:#fff;}
.ce-card:hover .ce-card-cta span{transform:translateX(3px);}
#ibdaa-ce[dir="rtl"] .ce-card:hover .ce-card-cta span{transform:translateX(-3px);}

.ce-empty{grid-column:1/-1;text-align:center;color:var(--ce-muted);font-size:16px;padding:60px 0;}

/* ---- pagination ---- */
.ce-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:34px;}
.ce-pg{min-width:42px;border:1.5px solid var(--ce-line);background:#fff;color:var(--ce-ink);
  border-radius:11px;padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer;
  transition:all .15s;font-family:inherit;}
.ce-pg:hover:not(:disabled){border-color:var(--ce-primary);color:var(--ce-primary);}
.ce-pg:disabled{opacity:.4;cursor:not-allowed;}
.ce-pg-cur{background:var(--ce-primary);border-color:var(--ce-primary);color:#fff;}
.ce-pg-cur:hover{color:#fff;}
.ce-pg-gap{align-self:center;color:var(--ce-muted);padding:0 4px;}

/* ---- loading ---- */
.ce-loading{grid-column:1/-1;display:flex;justify-content:center;gap:8px;padding:60px 0;}
.ce-loading span{width:12px;height:12px;border-radius:50%;background:var(--ce-primary);
  animation:ce-bounce 1s infinite ease-in-out;}
.ce-loading span:nth-child(2){animation-delay:.16s;}
.ce-loading span:nth-child(3){animation-delay:.32s;}
@keyframes ce-bounce{0%,80%,100%{transform:scale(.4);opacity:.4;}40%{transform:scale(1);opacity:1;}}

@media (max-width:600px){
  #ibdaa-ce{padding-inline:12px;}
  .ce-hero{padding:38px 22px 32px;border-radius:18px;}
  .ce-stat{flex:1 1 calc(50% - 7px);min-width:0;padding:12px 14px;}
  .ce-grid{grid-template-columns:1fr;}
}

/* ---- server-rendered SEO section (about + FAQ) ---- */
.ce-seo{max-width:1200px;margin:8px auto 0;padding:8px 16px 8px;box-sizing:border-box;}
.ce-seo-inner{border-top:1px solid #e6e9f2;padding-top:34px;}
.ce-seo[dir="rtl"]{text-align:right;}
.ce-seo h2{font-size:clamp(20px,2.4vw,26px);font-weight:800;color:#1b2440;margin:0 0 14px;}
.ce-seo h2:not(:first-child){margin-top:34px;}
.ce-seo p{font-size:15.5px;line-height:1.85;color:#46506a;margin:0 0 8px;max-width:900px;}
.ce-faq{display:grid;gap:10px;max-width:900px;}
.ce-faq-item{border:1px solid #e6e9f2;border-radius:12px;background:#fff;overflow:hidden;}
.ce-faq-item summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:700;font-size:15px;
  color:#1D3A89;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.ce-faq-item summary::-webkit-details-marker{display:none;}
.ce-faq-item summary::after{content:"+";font-size:22px;font-weight:400;color:#9aa3bd;line-height:1;flex:0 0 auto;}
.ce-faq-item[open] summary::after{content:"–";}
.ce-faq-item[open] summary{color:#002559;}
.ce-faq-a{padding:0 18px 16px;font-size:14.5px;line-height:1.75;color:#46506a;}
