/* Scoped styles */
.dlm-scope .dlm-course-list { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap:22px; margin:24px 0; }
.dlm-scope .dlm-card { background:#fff; border:1px solid #E6EAF1; border-radius:14px; overflow:hidden; transition: box-shadow .2s, transform .2s; }
.dlm-scope .dlm-card:hover { box-shadow:0 10px 24px rgba(18,38,63,.12); transform: translateY(-2px); }
.dlm-scope .dlm-card-link { display:grid; grid-template-columns:120px 1fr 22px; gap:16px; align-items:center; padding:16px; text-decoration:none!important; }
.dlm-scope .dlm-card-thumb img { display:block; width:100%; height:auto; border-radius:10px; }
.dlm-scope .dlm-card-title { margin:0 0 6px; font-size:18px; line-height:1.25; color:#112244; }
.dlm-scope .dlm-card-excerpt { margin:0 8px 6px 0; font-size:14px; color:#4b5b76; }
.dlm-scope .dlm-badge { background:#F4F6FA; color:#334866; border-radius:999px; padding:4px 10px; font-size:12px; }
.dlm-scope .dlm-card-meta { display:flex; flex-wrap:wrap; gap:6px; }

/* Hero */
.dlm-scope .dlm-single-hero { background:#0F2A55; color:#fff; padding:48px 0; }
.dlm-scope .dlm-single-hero .dlm-hero-inner { max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1.2fr .8fr; gap:40px; }
.dlm-scope .dlm-hero-left h1 { margin:8px 0 12px; font-size:44px; line-height:1.15; }
.dlm-scope .dlm-hero-price { font-size:18px; margin:8px 0 14px; opacity:.9; }
.dlm-scope .dlm-hero-bullets { margin: 12px 0 18px; padding-left:18px; }
.dlm-scope .dlm-btn { display:inline-block; background:linear-gradient(135deg,#4B6BFF,#7A5BFF); color:#fff; padding:10px 16px; border-radius:10px; text-decoration:none; font-weight:600; }
.dlm-scope .dlm-hero-right img { width:100%; height:auto; border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.25); }

/* Body */
.dlm-scope .dlm-course-wrap { max-width:1200px; margin:30px auto; padding:0 20px; display:grid; grid-template-columns:2fr 1fr; gap:32px; }
.dlm-scope .dlm-accordions details { border:1px solid #E6EAF1; border-radius:10px; background:#fff; margin-bottom:10px; }
.dlm-scope .dlm-accordions summary { cursor:pointer; padding:12px 14px; font-weight:600; }
.dlm-scope .dlm-acc-content { padding:0 14px 14px; color:#3c4c66; }

/* Sidebar */
.dlm-scope .dlm-side-card { border:1px solid #E6EAF1; border-radius:14px; padding:16px; background:#fff; }
.dlm-scope .dlm-side-card h3 { margin:0 0 10px; font-size:20px; }
.dlm-scope .dlm-side-bullets { padding-left:18px; margin:10px 0 14px; }
.dlm-scope .dlm-side-meta .dlm-row { display:flex; justify-content:space-between; gap:12px; padding:6px 0; border-top:1px dashed #e5e9f2; }
.dlm-scope .dlm-side-price { font-weight:700; margin:12px 0; }

/* Back button bar */
.dlm-scope .dlm-backbar { padding:24px 0 40px; }
.dlm-scope .dlm-wrap { max-width:1200px; margin:0 auto; padding:0 20px; }
.dlm-scope .dlm-btn--secondary { background:#e8eefc; color:#0f2a55; }
.dlm-scope .dlm-btn--secondary:hover { filter:brightness(0.96); }

/* Modal */
.dlm-modal { position:fixed; inset:0; display:none; }
.dlm-modal.is-open { display:block; }
.dlm-modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.55); }
.dlm-modal__dialog { position:absolute; inset:5% 10%; background:#fff; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.dlm-modal__close { align-self:flex-end; margin:8px; border:0; background:#eef2ff; border-radius:8px; width:32px; height:32px; cursor:pointer; }
.dlm-modal__iframe { flex:1; width:100%; }

@media (max-width:980px){
  .dlm-scope .dlm-single-hero .dlm-hero-inner{ grid-template-columns:1fr; }
  .dlm-scope .dlm-course-wrap{ grid-template-columns:1fr; }
  .dlm-scope .dlm-card-link{ grid-template-columns:80px 1fr 18px; }
}

/* ===== Stacked list layout ===== */
.dlm-scope .dlm-stack { display:flex; flex-direction:column; gap:18px; margin:24px 0 40px; }
.dlm-scope .dlm-stack-item { display:grid; grid-template-columns: 380px 1fr 320px; gap:24px; background:#fff; border:1px solid #E6EAF1; border-radius:16px; overflow:hidden; padding:18px; align-items:start; }
.dlm-scope .dlm-stack-media img.dlm-stack-thumb { width:100%; height:auto; border-radius:12px; display:block; }
.dlm-scope .dlm-stack-title { margin:4px 0 8px; font-size:22px; line-height:1.25; }
.dlm-scope .dlm-stack-title a { text-decoration:none; color:#102542; }
.dlm-scope .dlm-stack-excerpt { color:#41536f; }
.dlm-scope .dlm-stack-aside { display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.dlm-scope .dlm-stack-aside .dlm-row { width:100%; display:flex; justify-content:space-between; gap:12px; border-top:1px dashed #e5e9f2; padding-top:8px; }
.dlm-scope .dlm-btn--ghost { background:transparent; color:#0f2a55; border:1px solid #cfd8ee; }
@media (max-width:1200px){
  .dlm-scope .dlm-stack-item { grid-template-columns: 320px 1fr; }
  .dlm-scope .dlm-stack-aside { grid-column: 1 / -1; flex-direction:row; flex-wrap:wrap; gap:12px 18px; }
  .dlm-scope .dlm-stack-aside .dlm-row { width:auto; border:0; padding:0; }
}
@media (max-width:820px){
  .dlm-scope .dlm-stack-item { grid-template-columns: 1fr; }
}

/* ===== Fancy stacked cards ===== */
.dlm-scope .dlm-wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.dlm-scope .dlm-stack { gap: 20px; }
.dlm-scope .dlm-stack-item { 
  background:#fff; 
  border:1px solid #E6EAF1; 
  border-radius:18px; 
  box-shadow: 0 4px 16px rgba(18,38,63,.06);
  transition: transform .15s ease, box-shadow .2s ease;
  padding: 18px;
}
.dlm-scope .dlm-stack-item:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(18,38,63,.10);
}
.dlm-scope .dlm-stack-title { font-size: 20px; margin-top: 6px; }
.dlm-scope .dlm-stack-excerpt { margin-top: 4px; max-width: 860px; }
.dlm-scope .dlm-stack-media img.dlm-stack-thumb { border-radius: 14px; }
.dlm-scope .dlm-stack-aside { min-width: 260px; }
.dlm-scope .dlm-stack-aside .dlm-row span { color:#6b7a97; font-size: 13px; }
.dlm-scope .dlm-stack-aside .dlm-row strong { color:#102542; font-weight:600; }
.dlm-scope .dlm-btn--ghost { border-radius: 10px; padding: 8px 14px; }

@media (max-width: 1200px){
  .dlm-scope .dlm-stack-excerpt { max-width: 100%; }
}

/* v1.9.9 - hardened grid + namespaced rows */
.dlm-scope .dlm-stack-item { grid-template-columns: 360px 1fr 340px; align-items: start; }
.dlm-scope .dlm-stack-aside { display:flex; flex-direction:column; gap:10px; }
.dlm-scope .dlm-stack-aside .dlm-row { display:flex; justify-content:space-between; gap:12px; border-top:1px dashed #e5e9f2; padding-top:8px; width:100%; }
.dlm-scope .dlm-stack-aside .dlm-row span { white-space:nowrap; }
.dlm-scope .dlm-stack-aside .dlm-row strong { text-align:right; }
.dlm-scope .dlm-stack-aside .dlm-btn { align-self:flex-start; margin-top:6px; }

@media (max-width:1200px){
  .dlm-scope .dlm-stack-item { grid-template-columns: 320px 1fr; }
  .dlm-scope .dlm-stack-aside { grid-column: 1 / -1; flex-direction:row; flex-wrap:wrap; }
  .dlm-scope .dlm-stack-aside .dlm-row { border:0; padding:4px 10px; background:#f7f9fe; border-radius:10px; }
}
@media (max-width:820px){
  .dlm-scope .dlm-stack-item { grid-template-columns: 1fr; }
}

/* v2.0.0 - sanitize excerpt & harden grid */
.dlm-scope .dlm-stack-main { min-height: 40px; overflow:hidden; }
.dlm-scope a.dlm-stack-media { display:block; }
.dlm-scope .dlm-stack-aside .dlm-btn { display:inline-block; }

/* v2.0.1 - price pill + nicer details button */
.dlm-scope .dlm-price{
  background: linear-gradient(135deg,#eef2ff,#e9f6ff);
  border:1px solid #d5e1ff;
  padding:4px 10px;
  border-radius: 999px;
  font-weight:700;
  color:#0f2a55;
  display:inline-block;
}
.dlm-scope .dlm-stack-aside .dlm-btn{
  background:linear-gradient(135deg,#4B6BFF,#7A5BFF);
  color:#fff;
  border:0;
  box-shadow: 0 6px 16px rgba(75,107,255,.25);
}
.dlm-scope .dlm-stack-aside .dlm-btn:hover{ filter:brightness(.97); transform: translateY(-1px); }

/* v2.1.0 – single hero solid blue */
.dlm-scope .dlm-single-hero { background: linear-gradient(180deg,#102B67 0%, #0F2A55 100%); position:relative; overflow:hidden; }
.dlm-scope .dlm-single-hero:after { content:''; position:absolute; inset:-40% -30% auto auto; width:580px; height:580px; background:radial-gradient(60% 60% at 50% 50%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 70%); border-radius:50%; pointer-events:none; }
.dlm-scope .dlm-hero-right img{ border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.35); }

/* Instructors – richer cards */
.dlm-scope .dlm-instructors { margin-top:26px; }
.dlm-scope .dlm-instructor-card{
  display:grid; grid-template-columns:160px 1fr; gap:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid #E6EAF1; border-radius:16px; padding:16px;
  box-shadow: 0 8px 24px rgba(18,38,63,.06);
}
.dlm-scope .dlm-instructor-photo{ display:flex; align-items:center; justify-content:center; }
.dlm-scope .dlm-avatar{ width:150px; height:150px; object-fit:cover; border-radius:16px; box-shadow:0 12px 30px rgba(18,38,63,.15); }
.dlm-scope .dlm-instructor-body h3{ margin:0 0 4px; font-size:22px; }
.dlm-scope .dlm-role-link{ margin:0 0 8px; color:#4b5b76; font-weight:600; }
.dlm-scope .dlm-bio{ margin:8px 0 12px; color:#2f3e5e; }
.dlm-scope .dlm-socials{ display:flex; gap:10px; flex-wrap:wrap; }
.dlm-scope .dlm-socials a{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border:1px solid #dde6f6; border-radius:10px; background:#fff; text-decoration:none; color:#113; font-weight:600; }
.dlm-scope .dlm-socials a:hover{ background:#f5f9ff; }

/* Social icons with CSS masks (no external assets) */
.dlm-scope .dlm-socials a.ico:before{ content:''; width:16px; height:16px; display:inline-block; background:#2a59ff; -webkit-mask-size:contain; -webkit-mask-repeat:no-repeat; mask-size:contain; mask-repeat:no-repeat; }
.dlm-scope .dlm-socials a.ico.in:before{ -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23000" d="M100.3 480H7.4V165.9h92.9V480zM53.8 120.1C24.1 120.1 0 95.8 0 66.1 0 36.4 24.1 12.1 53.8 12.1s53.8 24.3 53.8 54c-.1 29.7-24.2 54-53.8 54zM447.9 480h-92.7V334.7c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.6V480h-92.8V165.9h89.1v43h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"/></svg>'); mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M100.3 480H7.4V165.9h92.9V480zM53.8 120.1C24.1 120.1 0 95.8 0 66.1 0 36.4 24.1 12.1 53.8 12.1s53.8 24.3 53.8 54c-.1 29.7-24.2 54-53.8 54zM447.9 480h-92.7V334.7c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.6V480h-92.8V165.9h89.1v43h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"/></svg>'); }
.dlm-scope .dlm-socials a.ico.yt:before{ -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.7 124.1c-6.3-23.7-24.9-42.2-48.6-48.6C458.8 64 288 64 288 64s-170.8 0-213.1 10.6c-23.7 6.3-42.3 24.9-48.6 48.6C16 166.4 16 256 16 256s0 89.6 10.3 131.9c6.3 23.7 24.9 42.3 48.6 48.6C117.2 448 288 448 288 448s170.8 0 213.1-10.6c23.7-6.3 42.3-24.9 48.6-48.6C560 345.6 560 256 560 256s0-89.6-10.3-131.9zM232 336V176l142.1 80L232 336z"/></svg>'); mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.7 124.1c-6.3-23.7-24.9-42.2-48.6-48.6C458.8 64 288 64 288 64s-170.8 0-213.1 10.6c-23.7 6.3-42.3 24.9-48.6 48.6C16 166.4 16 256 16 256s0 89.6 10.3 131.9c6.3 23.7 24.9 42.3 48.6 48.6C117.2 448 288 448 288 448s170.8 0 213.1-10.6c23.7-6.3 42.3-24.9 48.6-48.6C560 345.6 560 256 560 256s0-89.6-10.3-131.9zM232 336V176l142.1 80L232 336z"/></svg>'); }
.dlm-scope .dlm-socials a.ico.www:before{ -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M248,8C111,8,0,119,0,256S111,504,248,504,496,393,496,256,385,8,248,8ZM96,256a152.06,152.06,0,0,1,9.23-52.66L167.45,265h-69.1A153,153,0,0,1,96,256Zm152,152a150.24,150.24,0,0,1-88.63-28.71L217.45,312h29.1Zm-59.65-96L117.45,192h89.06l45.45,76.87L297.41,192h89.14L307.65,312ZM400,256a153,153,0,0,1-9.23,52.66L328.55,247h69.1A153,153,0,0,1,400,256ZM248,104a152.24,152.24,0,0,1,88.63,28.71L278.55,200H249.45Zm0,304a152.24,152.24,0,0,1-88.63-28.71L217.45,312h29.1Z"/></svg>'); mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M248,8C111,8,0,119,0,256S111,504,248,504,496,393,496,256,385,8,248,8ZM96,256a152.06,152.06,0,0,1,9.23-52.66L167.45,265h-69.1A153,153,0,0,1,96,256Zm152,152a150.24,150.24,0,0,1-88.63-28.71L217.45,312h29.1Zm-59.65-96L117.45,192h89.06l45.45,76.87L297.41,192h89.14L307.65,312ZM400,256a153,153,0,0,1-9.23,52.66L328.55,247h69.1A153,153,0,0,1,400,256ZM248,104a152.24,152.24,0,0,1,88.63,28.71L278.55,200H249.45Zm0,304a152.24,152.24,0,0,1-88.63-28.71L217.45,312h29.1Z"/></svg>'); }
.dlm-scope .dlm-socials a.ico.mail:before{ -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M502.3 190.8L327.4 338.2c-21.9 18.1-53.9 18.1-75.8 0L9.7 190.8C3.9 186 0 178.8 0 171V80c0-26.5 21.5-48 48-48h416c26.5 0 48 21.5 48 48v91c0 7.8-3.9 15-9.7 19.8z"/></svg>'); mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M502.3 190.8L327.4 338.2c-21.9 18.1-53.9 18.1-75.8 0L9.7 190.8C3.9 186 0 178.8 0 171V80c0-26.5 21.5-48 48-48h416c26.5 0 48 21.5 48 48v91c0 7.8-3.9 15-9.7 19.8z"/></svg>'); }

/* v2.1.1 – sticky sidebar on single course */
.dlm-scope .dlm-course-wrap{ align-items: start; }
.dlm-scope .dlm-sidebar{ position: sticky; top: 24px; align-self: start; }
@media (max-width: 980px){
  .dlm-scope .dlm-sidebar{ position: static; }
}
