/* =================================================================
   Naamdeo Events — Complete Styles v2.0
   Single Event + Archive/Calendar Page
   ================================================================= */

/* ── Scoped reset ────────────────────────────────────────────────── */
.nd-event-wrap *, .nd-archive-wrap * { box-sizing: border-box; }
.nd-event-wrap img, .nd-archive-wrap img { max-width:100%; height:auto; display:block; }
.nd-event-wrap ul, .nd-archive-wrap ul { list-style:none; margin:0; padding:0; }
.nd-event-wrap a, .nd-archive-wrap a { text-decoration:none; }
.nd-event-wrap p, .nd-archive-wrap p { margin:0; }

/* ── Tokens ──────────────────────────────────────────────────────── */
.nd-event-wrap, .nd-archive-wrap {
  --nd-accent:       #6b3a2a;
  --nd-accent-hover: #4a2519;
  --nd-accent-light: #f5ede8;
  --nd-accent-rgb:   107,58,42;
  --nd-bg:           #fffdf9;
  --nd-surface:      #faf6f0;
  --nd-border:       #e8ddd4;
  --nd-text:         #2a1f1a;
  --nd-muted:        #7a6a62;
  --nd-green-dark:   #128c7e;
  --nd-radius:       14px;
  --nd-radius-sm:    8px;
  --nd-shadow:       0 2px 16px rgba(107,58,42,.08);
  --nd-shadow-md:    0 8px 40px rgba(107,58,42,.14);
  font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--nd-text); line-height:1.6;
  background:var(--nd-bg); width:100%; overflow-x:hidden;
}
.nd-event-wrap svg, .nd-archive-wrap svg { display:inline-block; vertical-align:middle; flex-shrink:0; }

/* ── Layout ──────────────────────────────────────────────────────── */
.nd-container { max-width:1120px; margin:0 auto; padding:0 24px; }
.nd-section   { padding:64px 0; }

/* ── Typography ──────────────────────────────────────────────────── */
.nd-overline { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--nd-accent); font-weight:700; margin-bottom:10px; display:block; }
.nd-section__heading { font-size:clamp(1.3rem,3vw,1.8rem); font-weight:800; margin:0 0 28px; color:var(--nd-text); line-height:1.25; font-family:Georgia,'Times New Roman',serif; }

/* ── Badge ───────────────────────────────────────────────────────── */
.nd-badge { display:inline-block; background:var(--nd-accent-light); color:var(--nd-accent); border:1.5px solid rgba(var(--nd-accent-rgb),.2); border-radius:100px; font-size:12px; font-weight:700; padding:5px 16px; letter-spacing:.06em; margin-bottom:16px; }

/* ── Buttons ─────────────────────────────────────────────────────── */
.nd-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; border-radius:var(--nd-radius-sm); font-size:15px; font-weight:700; cursor:pointer; border:2px solid transparent; text-decoration:none; transition:all .22s; white-space:nowrap; line-height:1; font-family:inherit; }
.nd-btn--primary { background:var(--nd-accent); color:#fff; border-color:var(--nd-accent); }
.nd-btn--primary:hover { background:var(--nd-accent-hover); border-color:var(--nd-accent-hover); transform:translateY(-2px); box-shadow:0 8px 24px rgba(var(--nd-accent-rgb),.35); color:#fff; }
.nd-btn--outline { background:transparent; color:var(--nd-accent); border-color:var(--nd-accent); }
.nd-btn--outline:hover { background:var(--nd-accent); color:#fff; }
.nd-btn--ghost { background:transparent; color:var(--nd-accent); border:1.5px solid var(--nd-border); font-size:14px; padding:9px 20px; }
.nd-btn--ghost:hover { border-color:var(--nd-accent); }
.nd-btn--full { width:100%; }
.nd-btn--whatsapp { background:var(--nd-green-dark); color:#fff; border-color:var(--nd-green-dark); }
.nd-btn--whatsapp:hover { background:#0e7063; color:#fff; }
.nd-btn--disabled { background:#ccc; color:#888; border-color:#ccc; cursor:not-allowed; }
.nd-btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ── Alerts ──────────────────────────────────────────────────────── */
.nd-form__success,.nd-ask__success { padding:13px 16px; border-radius:var(--nd-radius-sm); font-size:14px; margin-bottom:14px; font-weight:600; background:#e8f8f1; color:#0d7a4e; border:1px solid #b2dfcc; }
.nd-form__error,.nd-ask__error { padding:13px 16px; border-radius:var(--nd-radius-sm); font-size:14px; margin-bottom:14px; font-weight:600; background:#fdf2f1; color:#c0392b; border:1px solid #f5c0bb; }
.nd-alert--warning { padding:13px 16px; border-radius:var(--nd-radius-sm); background:#fff8e1; color:#7a5800; border:1px solid #ffe082; font-size:14px; }
.nd-spin { width:20px; height:20px; animation:nd-rotate .75s linear infinite; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; }
@keyframes nd-rotate { to { transform:rotate(360deg); } }

/* =================================================================
   SINGLE EVENT PAGE
   ================================================================= */

/* ── HERO ────────────────────────────────────────────────────────── */
.nd-hero { background:var(--nd-surface); border-bottom:1px solid var(--nd-border); }
.nd-hero__banner { position:relative; width:100%; height:280px; overflow:hidden; background:linear-gradient(135deg,var(--nd-accent) 0%,var(--nd-accent-hover) 100%); }
.nd-hero__banner-img { width:100%; height:100%; object-fit:cover; }
.nd-hero__overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(0,0,0,.25),rgba(0,0,0,.55)); }

.nd-hero__body { max-width:1120px; margin:0 auto; padding:44px 24px; display:grid; grid-template-columns:1fr 400px; gap:44px; align-items:start; }
.nd-hero__title { font-family:Georgia,serif; font-size:clamp(1.8rem,4.5vw,2.8rem); font-weight:800; line-height:1.18; margin:0 0 26px; color:var(--nd-text); }

.nd-meta-list { margin:0 0 30px; display:flex; flex-direction:column; gap:12px; }
.nd-meta-list li { display:flex; align-items:center; gap:10px; font-size:15px; color:var(--nd-muted); }
.nd-meta-list li svg { width:18px; height:18px; fill:none; stroke:var(--nd-accent); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.nd-hero__ctas { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.nd-registered-count { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--nd-muted); }
.nd-avatars { display:flex; }
.nd-avatars span { width:30px; height:30px; border-radius:50%; background:var(--nd-accent); border:2.5px solid #fff; margin-right:-9px; display:block; }
.nd-avatars span:nth-child(2) { opacity:.75; }
.nd-avatars span:nth-child(3) { opacity:.5; }

/* ── Registration Form ───────────────────────────────────────────── */
.nd-form-card { background:#fff; border:1px solid var(--nd-border); border-radius:var(--nd-radius); padding:30px; box-shadow:var(--nd-shadow-md); position:sticky; top:20px; }
.nd-form-card__title { font-size:18px; font-weight:800; margin:0 0 22px; color:var(--nd-text); font-family:Georgia,serif; }
.nd-form__row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.nd-form__group { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.nd-form__group label { font-size:13px; font-weight:700; color:var(--nd-text); }
.nd-form__group label span { color:#c0392b; }
.nd-form__group input { border:1.5px solid var(--nd-border); border-radius:var(--nd-radius-sm); padding:12px 14px; font-size:14px; outline:none; transition:border-color .2s,box-shadow .2s; background:#fff; color:var(--nd-text); width:100%; font-family:inherit; }
.nd-form__group input:focus { border-color:var(--nd-accent); box-shadow:0 0 0 3px rgba(var(--nd-accent-rgb),.12); }
.nd-form__group input::placeholder { color:#b0a09a; }
.nd-form__secure { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--nd-muted); margin:12px 0 0; justify-content:center; }
.nd-form__secure svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ── Speaker + Why Attend ────────────────────────────────────────── */
.nd-speaker-section { background:#fff; }
.nd-speaker-grid { display:grid; grid-template-columns:380px 1fr; gap:44px; align-items:start; }
.nd-speaker-card { background:var(--nd-surface); border:1px solid var(--nd-border); border-radius:var(--nd-radius); padding:34px; }
.nd-speaker__photo-wrap { margin-bottom:22px; }
.nd-speaker__photo { width:130px; height:130px; border-radius:50%; object-fit:cover; border:3px solid var(--nd-border); }
.nd-speaker__photo-placeholder { width:130px; height:130px; border-radius:50%; background:var(--nd-border); display:flex; align-items:center; justify-content:center; }
.nd-speaker__photo-placeholder svg { width:55px; height:55px; fill:none; stroke:var(--nd-muted); stroke-width:1.5; }
.nd-speaker__name { font-family:Georgia,serif; font-size:1.5rem; font-weight:800; margin:0 0 4px; }
.nd-speaker__designation { color:var(--nd-accent); font-weight:700; font-size:14px; margin:0 0 16px; }
.nd-speaker__bio { font-size:14px; color:var(--nd-muted); line-height:1.75; margin-bottom:18px; }
.nd-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.nd-tag { background:var(--nd-accent-light); color:var(--nd-accent); border-radius:100px; font-size:12px; font-weight:700; padding:5px 14px; border:1px solid rgba(var(--nd-accent-rgb),.2); }
.nd-speaker__links { display:flex; gap:10px; }
.nd-social-btn { width:42px; height:42px; border-radius:var(--nd-radius-sm); border:1.5px solid var(--nd-border); background:#fff; display:flex; align-items:center; justify-content:center; transition:all .2s; color:var(--nd-muted); }
.nd-social-btn:hover { border-color:var(--nd-accent); background:var(--nd-accent); color:#fff; }
.nd-social-btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.nd-why-attend { padding-top:4px; }
.nd-why-list { display:flex; flex-direction:column; gap:14px; }
.nd-why-item { display:flex; align-items:center; gap:16px; font-size:15px; font-weight:500; background:var(--nd-surface); border:1px solid var(--nd-border); border-radius:var(--nd-radius-sm); padding:18px 20px; transition:box-shadow .2s; }
.nd-why-item:hover { box-shadow:var(--nd-shadow); }
.nd-why-icon { width:44px; height:44px; flex-shrink:0; background:var(--nd-accent-light); border-radius:10px; display:flex; align-items:center; justify-content:center; }
.nd-why-icon svg { width:22px; height:22px; fill:none; stroke:var(--nd-accent); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ── Agenda + Ask ────────────────────────────────────────────────── */
.nd-agenda-section { background:var(--nd-surface); }
.nd-agenda-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.nd-agenda-card,.nd-ask-card { background:#fff; border:1px solid var(--nd-border); border-radius:var(--nd-radius); padding:30px; }
.nd-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.nd-card-header .nd-section__heading { margin:0; }
.nd-card-header svg { width:22px; height:22px; fill:none; stroke:var(--nd-muted); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.nd-timeline { display:flex; flex-direction:column; }
.nd-timeline__item { display:grid; grid-template-columns:12px 90px 1fr; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--nd-border); }
.nd-timeline__item:last-child { border-bottom:none; }
.nd-timeline__dot { width:10px; height:10px; border-radius:50%; background:var(--nd-accent); flex-shrink:0; }
.nd-timeline__time { font-size:13px; font-weight:800; color:var(--nd-accent); font-variant-numeric:tabular-nums; }
.nd-timeline__label { font-size:14px; }
.nd-ask-card .nd-section__heading { margin-bottom:8px; }
.nd-ask-card__sub { font-size:14px; color:var(--nd-muted); margin:0 0 22px; }
.nd-textarea { width:100%; border:1.5px solid var(--nd-border); border-radius:var(--nd-radius-sm); padding:13px 16px; font-size:14px; font-family:inherit; resize:vertical; outline:none; transition:border-color .2s; margin-bottom:14px; color:var(--nd-text); background:#fff; }
.nd-textarea:focus { border-color:var(--nd-accent); box-shadow:0 0 0 3px rgba(var(--nd-accent-rgb),.12); }

/* ── WhatsApp ────────────────────────────────────────────────────── */
.nd-whatsapp-section { background:#fff; }
.nd-whatsapp-banner { background:linear-gradient(135deg,#e7f8f1 0%,#d0f0e4 100%); border:1px solid #b2dfcc; border-radius:var(--nd-radius); padding:30px 36px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.nd-whatsapp-banner__content { display:flex; align-items:center; gap:20px; }
.nd-whatsapp-icon { width:44px; height:44px; color:var(--nd-green-dark); flex-shrink:0; }
.nd-whatsapp-banner__content strong { display:block; font-size:16px; font-weight:800; margin-bottom:4px; color:#0e5c3c; }
.nd-whatsapp-banner__content p { font-size:14px; color:#1a7a52; }

/* ── Testimonials ────────────────────────────────────────────────── */
.nd-testimonials-section { background:var(--nd-surface); }
.nd-section-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }
.nd-section-header .nd-section__heading { margin:0; }
.nd-testi__nav { display:flex; gap:8px; }
.nd-nav-btn { width:40px; height:40px; border-radius:50%; border:1.5px solid var(--nd-border); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; color:var(--nd-muted); }
.nd-nav-btn:hover { border-color:var(--nd-accent); background:var(--nd-accent); color:#fff; }
.nd-nav-btn svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.nd-testi-track-wrap { overflow:hidden; }
.nd-testi-track { display:flex; gap:20px; transition:transform .4s cubic-bezier(.4,0,.2,1); }
.nd-testi-card { flex:0 0 calc(33.333% - 14px); background:#fff; border:1px solid var(--nd-border); border-radius:var(--nd-radius); padding:26px; display:flex; flex-direction:column; gap:16px; }
.nd-testi__avatar { width:54px; height:54px; border-radius:50%; background:var(--nd-border); overflow:hidden; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nd-testi__avatar img { width:100%; height:100%; object-fit:cover; }
.nd-testi__avatar svg { width:28px; height:28px; fill:none; stroke:var(--nd-muted); stroke-width:1.5; }
.nd-testi__quote { font-size:14px; line-height:1.75; font-style:italic; margin:0; }
.nd-testi__author strong { display:block; font-size:14px; font-weight:800; }
.nd-testi__author span { font-size:12px; color:var(--nd-muted); }

/* ── Upcoming ────────────────────────────────────────────────────── */
.nd-upcoming-section { background:#fff; }
.nd-upcoming-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.nd-upcoming-card { text-decoration:none; color:var(--nd-text); background:var(--nd-surface); border:1px solid var(--nd-border); border-radius:var(--nd-radius); overflow:hidden; transition:transform .22s,box-shadow .22s; display:block; }
.nd-upcoming-card:hover { transform:translateY(-4px); box-shadow:var(--nd-shadow-md); }
.nd-upcoming-card__img { height:145px; overflow:hidden; background:var(--nd-border); }
.nd-upcoming-card__img img { width:100%; height:100%; object-fit:cover; }
.nd-upcoming-card__img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:var(--nd-accent-light); }
.nd-upcoming-card__img-placeholder svg { width:36px; height:36px; fill:none; stroke:var(--nd-accent); stroke-width:1.5; opacity:.5; }
.nd-upcoming-card__body { padding:18px; }
.nd-upcoming-card__body h4 { font-size:14px; font-weight:800; margin:0 0 10px; line-height:1.4; }
.nd-upcoming-card__date,.nd-upcoming-card__mode { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--nd-muted); margin:5px 0 0; }
.nd-upcoming-card__date svg,.nd-upcoming-card__mode svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; }

/* =================================================================
   ARCHIVE PAGE — ALL EVENTS + CALENDAR
   ================================================================= */

/* ── Archive Header ──────────────────────────────────────────────── */
.nd-archive-header { background:linear-gradient(135deg,var(--nd-accent) 0%,var(--nd-accent-hover) 100%); padding:72px 0 64px; text-align:center; }
.nd-archive-header .nd-overline { color:rgba(255,255,255,.7); }
.nd-archive-title { font-family:Georgia,serif; font-size:clamp(2rem,5vw,3.2rem); font-weight:800; color:#fff; margin:0 0 14px; line-height:1.15; }
.nd-archive-subtitle { font-size:16px; color:rgba(255,255,255,.75); max-width:520px; margin:0 auto; }

/* ── Calendar ────────────────────────────────────────────────────── */
.nd-calendar-section { background:var(--nd-surface); }
.nd-cal-nav { display:flex; align-items:center; gap:14px; }
.nd-cal-title { font-size:16px; font-weight:800; color:var(--nd-text); min-width:160px; text-align:center; }

.nd-calendar { background:#fff; border:1px solid var(--nd-border); border-radius:var(--nd-radius); overflow:hidden; }

/* Day headers */
.nd-cal-weekdays { display:grid; grid-template-columns:repeat(7,1fr); background:var(--nd-accent); }
.nd-cal-weekday { padding:12px 0; text-align:center; font-size:12px; font-weight:800; color:#fff; letter-spacing:.08em; text-transform:uppercase; }

/* Days grid */
.nd-cal-days { display:grid; grid-template-columns:repeat(7,1fr); }
.nd-cal-day { min-height:90px; padding:10px 8px 8px; border-right:1px solid var(--nd-border); border-bottom:1px solid var(--nd-border); position:relative; transition:background .15s; }
.nd-cal-day:nth-child(7n) { border-right:none; }
.nd-cal-day--empty { background:var(--nd-surface); }
.nd-cal-day--today { background:#fdf5f2; }
.nd-cal-day__num { font-size:13px; font-weight:700; color:var(--nd-muted); margin-bottom:6px; display:block; }
.nd-cal-day--today .nd-cal-day__num { color:#fff; background:var(--nd-accent); width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; }
.nd-cal-day--has-event { background:#fff; cursor:pointer; }
.nd-cal-day--has-event:hover { background:var(--nd-accent-light); }

/* Event dot inside calendar day */
.nd-cal-event-dot { display:block; border-radius:6px; overflow:hidden; margin-bottom:4px; cursor:pointer; }
.nd-cal-event-dot__img { width:100%; height:44px; object-fit:cover; border-radius:6px; }
.nd-cal-event-dot__img-placeholder { width:100%; height:44px; background:var(--nd-accent-light); border-radius:6px; display:flex; align-items:center; justify-content:center; }
.nd-cal-event-dot__img-placeholder svg { width:18px; height:18px; fill:none; stroke:var(--nd-accent); stroke-width:1.5; opacity:.6; }
.nd-cal-event-dot__title { font-size:11px; font-weight:700; color:var(--nd-accent); line-height:1.3; margin-top:4px; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ── Calendar Popup ──────────────────────────────────────────────── */
.nd-cal-popup { position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; }
.nd-cal-popup__inner { background:#fff; border-radius:var(--nd-radius); max-width:420px; width:100%; overflow:hidden; box-shadow:var(--nd-shadow-md); animation:nd-popup-in .25s ease; }
@keyframes nd-popup-in { from { opacity:0; transform:scale(.92) translateY(10px); } to { opacity:1; transform:none; } }
.nd-cal-popup__close { position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; border:none; background:rgba(255,255,255,.9); cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--nd-muted); transition:all .2s; }
.nd-cal-popup__close:hover { background:#fff; color:var(--nd-accent); }
.nd-cal-popup__close svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; }
.nd-cal-popup__img { width:100%; height:200px; object-fit:cover; display:block; }
.nd-cal-popup__img[src=""] { display:none; }
.nd-cal-popup__body { padding:24px 26px 28px; position:relative; }
.nd-cal-popup__body h3 { font-family:Georgia,serif; font-size:1.2rem; font-weight:800; margin:0 0 12px; }
.nd-cal-popup__meta { font-size:13px; color:var(--nd-muted); margin-bottom:6px; display:flex; align-items:center; gap:8px; }
.nd-cal-popup__body .nd-btn { margin-top:18px; width:100%; }

/* ── Events Grid ─────────────────────────────────────────────────── */
.nd-all-events-section { background:#fff; }
.nd-events-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }

.nd-event-card { background:var(--nd-surface); border:1px solid var(--nd-border); border-radius:var(--nd-radius); overflow:hidden; transition:transform .22s,box-shadow .22s; }
.nd-event-card:hover { transform:translateY(-5px); box-shadow:var(--nd-shadow-md); }
.nd-event-card__link { display:block; color:inherit; text-decoration:none; }

/* Card image */
.nd-event-card__img-wrap { position:relative; height:200px; overflow:hidden; background:var(--nd-border); }
.nd-event-card__img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.nd-event-card:hover .nd-event-card__img { transform:scale(1.04); }
.nd-event-card__img-placeholder { width:100%; height:100%; background:var(--nd-accent-light); display:flex; align-items:center; justify-content:center; }
.nd-event-card__img-placeholder svg { width:44px; height:44px; fill:none; stroke:var(--nd-accent); stroke-width:1.5; opacity:.45; }

/* Date badge */
.nd-event-card__date-badge { position:absolute; top:14px; left:14px; background:#fff; border-radius:10px; padding:8px 12px; text-align:center; box-shadow:0 2px 12px rgba(0,0,0,.15); min-width:48px; }
.nd-event-card__date-day { display:block; font-size:20px; font-weight:900; color:var(--nd-accent); line-height:1; }
.nd-event-card__date-month { display:block; font-size:11px; font-weight:700; color:var(--nd-muted); text-transform:uppercase; letter-spacing:.06em; margin-top:2px; }

/* Tag */
.nd-event-card__tag { position:absolute; top:14px; right:14px; background:var(--nd-accent); color:#fff; font-size:11px; font-weight:700; padding:4px 12px; border-radius:100px; letter-spacing:.05em; }

/* Card body */
.nd-event-card__body { padding:22px; }
.nd-event-card__title { font-family:Georgia,serif; font-size:1.05rem; font-weight:800; margin:0 0 14px; line-height:1.35; color:var(--nd-text); }

.nd-event-card__meta { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.nd-event-card__meta li { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--nd-muted); }
.nd-event-card__meta li svg { width:15px; height:15px; fill:none; stroke:var(--nd-accent); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

/* Speaker strip */
.nd-event-card__speaker { display:flex; align-items:center; gap:10px; padding:14px 0; border-top:1px solid var(--nd-border); border-bottom:1px solid var(--nd-border); margin-bottom:16px; }
.nd-event-card__speaker-photo { width:38px; height:38px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid var(--nd-border); }
.nd-event-card__speaker-avatar { width:38px; height:38px; border-radius:50%; background:var(--nd-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nd-event-card__speaker-avatar svg { width:20px; height:20px; fill:none; stroke:var(--nd-muted); stroke-width:1.5; }
.nd-event-card__speaker-name { display:block; font-size:13px; font-weight:700; color:var(--nd-text); }
.nd-event-card__speaker-desig { display:block; font-size:11px; color:var(--nd-muted); margin-top:1px; }

/* Card footer */
.nd-event-card__footer { display:flex; justify-content:space-between; align-items:center; }
.nd-event-card__registered { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--nd-muted); }
.nd-event-card__registered svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.nd-event-card__cta { font-size:13px; font-weight:800; color:var(--nd-accent); background:var(--nd-accent-light); padding:6px 14px; border-radius:100px; transition:all .2s; }
.nd-event-card__cta:hover { background:var(--nd-accent); color:#fff; }
.nd-event-card__cta--closed { color:var(--nd-muted); background:var(--nd-border); }

.nd-no-events { text-align:center; font-size:16px; color:var(--nd-muted); padding:60px 0; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media(max-width:1024px) {
  .nd-events-grid { grid-template-columns:repeat(2,1fr); }
  .nd-upcoming-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:960px) {
  .nd-hero__body { grid-template-columns:1fr; }
  .nd-speaker-grid { grid-template-columns:1fr; }
  .nd-agenda-grid { grid-template-columns:1fr; }
  .nd-testi-card { flex:0 0 calc(50% - 10px); }
  .nd-cal-day { min-height:70px; }
  .nd-cal-event-dot__img { height:32px; }
}
@media(max-width:640px) {
  .nd-section { padding:40px 0; }
  .nd-hero__banner { height:200px; }
  .nd-hero__body { padding:28px 16px; }
  .nd-events-grid { grid-template-columns:1fr; }
  .nd-upcoming-grid { grid-template-columns:1fr; }
  .nd-testi-card { flex:0 0 100%; }
  .nd-form__row { grid-template-columns:1fr; }
  .nd-whatsapp-banner { flex-direction:column; padding:22px; }
  .nd-hero__ctas { flex-direction:column; }
  .nd-hero__ctas .nd-btn { width:100%; }
  .nd-section-header { flex-direction:column; align-items:flex-start; gap:14px; }
  .nd-container { padding:0 16px; }
  .nd-cal-day { min-height:50px; padding:6px 4px; }
  .nd-cal-weekday { padding:10px 0; font-size:10px; }
  .nd-cal-event-dot__img { height:24px; }
  .nd-cal-event-dot__title { display:none; }
}

/* ── Fade-in animation ───────────────────────────────────────────── */
.nd-fade-in { opacity:0; transform:translateY(24px); transition:opacity .55s ease,transform .55s ease; }
.nd-fade-in.nd-visible { opacity:1; transform:none; }
