/* ==========================================================
   NU Notice Board v2 — same design language as DSHE Notice
   Layout: Hero | Search | Left date column | Right notice card
   Scheme: Deep Slate (#1E293B / #0F172A)
   Font: Noto Sans Bengali (self-hosted)
   ========================================================== */

@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/noto-sans-bengali-bengali-400-normal.woff2') format('woff2');
  unicode-range:U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/noto-sans-bengali-bengali-600-normal.woff2') format('woff2');
  unicode-range:U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/noto-sans-bengali-bengali-700-normal.woff2') format('woff2');
  unicode-range:U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/noto-sans-bengali-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/noto-sans-bengali-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Noto Sans Bengali';font-style:normal;font-weight:700;font-display:swap;
  src:url('../fonts/noto-sans-bengali-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

.nu-notice {
  --g:    #1E293B;
  --gd:   #0F172A;
  --gm:   #334155;
  --gl:   #E9EEF6;
  --gg:   #CBD5E1;
  --acc:  #F59E0B;
  --sur:  #FFFFFF;
  --bg:   #F1F5F9;
  --bdr:  #D9E1EB;
  --bdrk: #A5B2C4;
  --tx:   #0F172A;
  --txm:  #334155;
  --txmu: #64748B;
  --txf:  #94A3B8;
  --fn:   'Noto Sans Bengali', 'Hind Siliguri', Arial, sans-serif;
  --r:    10px;
  --rl:   14px;
  --rxl:  18px;
  --sh:   0 1px 4px rgba(15,23,42,.08), 0 1px 2px rgba(0,0,0,.04);
  --shm:  0 4px 18px rgba(15,23,42,.11), 0 2px 8px rgba(0,0,0,.05);
  --tr:   all 0.2s cubic-bezier(0.4,0,0.2,1);

  font-family: var(--fn);
  color: var(--tx);
}
.nu-notice *, .nu-notice *::before, .nu-notice *::after { box-sizing: border-box; }

/* ══════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════ */
.nu-hero {
  text-align: center;
  margin-bottom: 16px;
}
.nu-hero-title {
  margin: 0 0 10px;
  font-size: clamp(25px, 4vw, 38px);
  font-weight: 700;
  color: var(--gd);
  line-height: 1.2;
  letter-spacing: -.3px;
}
.nu-hero-sub {
  margin: 0 auto 14px;
  font-size: clamp(15px, 2.2vw, 19px);
  font-weight: 600;
  color: var(--g);
}
.nu-hero-desc {
  margin: 0 auto;
  max-width: 660px;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--txmu);
}

/* ── Hero stats (icon tiles) ── */
.nu-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 16px;
}
.nu-hstat-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: var(--sur);
  border: 1px solid var(--bdr);
  border-radius: var(--rl);
  padding: 16px 18px;
  box-shadow: var(--sh);
  transition: var(--tr);
}
.nu-hstat-card:hover {
  box-shadow: var(--shm);
  transform: translateY(-2px);
  border-color: var(--gg);
}
.nu-hstat-icon {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.nu-hstat-icon svg { width: 23px; height: 23px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nu-hstat-total { background: linear-gradient(150deg, #334155, #1E293B); }
.nu-hstat-year  { background: linear-gradient(150deg, #2E8FD6, #1C5D9B); }
.nu-hstat-month { background: linear-gradient(150deg, #F0A93B, #D9821C); }
.nu-hstat-today { background: linear-gradient(150deg, #9A6BD6, #6E3D9B); }
.nu-hstat-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.nu-hstat-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.1;
  margin-bottom: 6px;
}
.nu-hstat-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--txm);
  line-height: 1.3;
}
.nu-hstat-desc {
  font-size: 11.5px;
  color: var(--txf);
  line-height: 1.3;
  margin-top: 2px;
}

/* ══════════════════════════════════════════════
   CONTROLS — search panel
   ══════════════════════════════════════════════ */
.nu-controls-panel {
  background: var(--sur);
  border-radius: var(--rl);
  border: 1px solid var(--bdr);
  padding: 14px 16px;
  margin-bottom: 18px;
  box-shadow: var(--sh);
}
.nu-search-wrap { position: relative; }
.nu-search-input {
  width: 100%;
  padding: 10px 36px 10px 14px;
  border: 1.5px solid var(--bdr);
  border-radius: var(--r);
  font-family: var(--fn);
  font-size: 13.5px;
  color: var(--tx);
  background: var(--bg);
  outline: none;
  transition: var(--tr);
  appearance: none;
}
.nu-search-input::placeholder { color: var(--txf); }
.nu-search-input:focus {
  border-color: var(--g);
  background: var(--sur);
  box-shadow: 0 0 0 3px rgba(15,23,42,.09);
}
.nu-search-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--txmu);
  padding: 4px;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  transition: var(--tr);
}
.nu-search-clear.visible { display: flex; }
.nu-search-clear:hover { background: var(--gl); color: var(--g); }
.nu-search-clear svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* ── Results info ── */
.nu-results-info {
  font-size: 13px;
  color: var(--txmu);
  margin-bottom: 12px;
  padding-left: 2px;
}
.nu-results-info strong { color: var(--g); font-weight: 700; }

/* ══════════════════════════════════════════════
   TIMELINE — Left date | Right card
   ══════════════════════════════════════════════ */
.nu-timeline {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 18px;
}
.nu-timeline-row {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 0;
  align-items: stretch;
  animation: nu-fadein .28s ease both;
}
.nu-timeline-row:nth-child(1)  { animation-delay: .02s; }
.nu-timeline-row:nth-child(2)  { animation-delay: .05s; }
.nu-timeline-row:nth-child(3)  { animation-delay: .08s; }
.nu-timeline-row:nth-child(4)  { animation-delay: .11s; }
.nu-timeline-row:nth-child(5)  { animation-delay: .14s; }
.nu-timeline-row:nth-child(6)  { animation-delay: .17s; }
.nu-timeline-row:nth-child(7)  { animation-delay: .20s; }
.nu-timeline-row:nth-child(8)  { animation-delay: .23s; }
.nu-timeline-row:nth-child(9)  { animation-delay: .26s; }
.nu-timeline-row:nth-child(10) { animation-delay: .29s; }
@keyframes nu-fadein {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Left: vertical date column with timeline line + dot */
.nu-date-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 16px 10px 4px;
  position: relative;
}
.nu-date-col::after {
  content: '';
  position: absolute;
  right: 6px;
  top: 18px;
  bottom: -10px;
  width: 1.5px;
  background: var(--gg);
}
.nu-timeline-row:last-child .nu-date-col::after { display: none; }
.nu-date-col::before {
  content: '';
  position: absolute;
  right: 1px;
  top: 14px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--g);
  border: 2.5px solid var(--sur);
  box-shadow: 0 0 0 1.5px var(--g);
  z-index: 1;
}
.nu-date-vertical {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  white-space: nowrap;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--g);
  line-height: 1;
  letter-spacing: .4px;
  text-align: center;
}
.nu-date-vertical .nu-dv-year {
  font-weight: 500;
  color: var(--txf);
}

/* Right: notice card */
.nu-notice-card {
  background: var(--sur);
  border: 1px solid var(--bdr);
  border-radius: var(--rl);
  padding: 13px 16px;
  box-shadow: var(--sh);
  transition: var(--tr);
  position: relative;
  overflow: hidden;
  min-width: 0;
}
.nu-notice-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--g);
  opacity: 0;
  transition: var(--tr);
}
.nu-notice-card:hover {
  box-shadow: var(--shm);
  border-color: var(--bdrk);
  transform: translateX(3px);
}
.nu-notice-card:hover::before { opacity: 1; }

/* Notice title */
.nu-card-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--tx);
  line-height: 1.55;
  margin: 0 0 10px;
  word-break: break-word;
}
.nu-card-title mark {
  background: #FEF9C3;
  color: #713F12;
  border-radius: 3px;
  padding: 0 2px;
}

/* Card actions */
.nu-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.nu-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: var(--r);
  font-family: var(--fn);
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
  transition: var(--tr);
  white-space: nowrap;
  padding: 7px 14px;
  line-height: 1;
}
.nu-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.nu-btn-primary {
  background: var(--g);
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(30,41,59,.22);
}
.nu-btn-primary:hover {
  background: var(--gd);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(30,41,59,.28);
}

/* ── No results / loading ── */
.nu-no-results {
  text-align: center;
  padding: 44px 24px;
  background: var(--sur);
  border-radius: var(--rl);
  border: 1.5px dashed var(--bdr);
  color: var(--txmu);
  margin-bottom: 18px;
}
.nu-no-results p:first-child { font-size: 15px; font-weight: 700; color: var(--txm); margin: 0 0 6px; }
.nu-no-results p { margin: 0; font-size: 13px; }
.nu-notice.is-loading .nu-timeline { opacity: .45; pointer-events: none; }
.nu-skel {
  height: 74px;
  border-radius: var(--rl);
  background: linear-gradient(90deg, var(--gl) 25%, #f6f8fb 37%, var(--gl) 63%);
  background-size: 400% 100%;
  animation: nu-shimmer 1.2s ease infinite;
}
@keyframes nu-shimmer { 0% {background-position:100% 0} 100% {background-position:0 0} }

/* ══════════════════════════════════════════════
   PAGINATION
   ══════════════════════════════════════════════ */
.nu-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
.nu-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border: 1.5px solid var(--bdr);
  border-radius: var(--r);
  background: var(--sur);
  color: var(--txm);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: var(--tr);
  cursor: pointer;
  font-family: var(--fn);
}
.nu-page-btn:hover:not(:disabled):not(.nu-page-current) {
  background: var(--gl);
  color: var(--g);
  border-color: var(--gg);
}
.nu-page-btn.nu-page-current {
  background: var(--g);
  color: #fff;
  border-color: var(--g);
  font-weight: 700;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(30,41,59,.22);
}
.nu-page-btn:disabled { opacity: .45; cursor: not-allowed; }
.nu-page-ellipsis { color: var(--txf); font-size: 13px; padding: 0 4px; }
.nu-page-info {
  flex-basis: 100%;
  text-align: center;
  margin-top: 8px;
  font-size: 12px;
  color: var(--txmu);
}

/* ══════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════ */
@media (max-width: 880px) {
  .nu-hero-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .nu-timeline-row { grid-template-columns: 50px 1fr; }
  .nu-date-col { padding: 10px 12px 10px 0; }
  .nu-hstat-value { font-size: 26px; }
}
@media (max-width: 480px) {
  .nu-hero-stats { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .nu-timeline-row { animation: none; }
  .nu-skel { animation: none; }
  .nu-notice-card, .nu-notice-card:hover,
  .nu-hstat-card, .nu-hstat-card:hover,
  .nu-btn, .nu-btn:hover { transform: none; transition: none; }
}

/* ══════════════════════════════════════════════
   v3 — Sections, filters, badges, cat cards, manual
   ══════════════════════════════════════════════ */
.nu-section { margin-bottom: 22px; }
.nu-section-head {
  display: flex; align-items: center; gap: 12px; margin-bottom: 14px;
}
.nu-section-icon {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 11px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; background: linear-gradient(140deg, var(--g), var(--gd));
  box-shadow: 0 3px 10px rgba(15,23,42,.22);
}
.nu-section-icon svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nu-section-title { margin: 0; font-size: 18px; font-weight: 700; color: var(--gd); line-height: 1.3; }
.nu-section-sub { margin: 2px 0 0; font-size: 12.5px; color: var(--txmu); }

/* Today section accent — slate theme */
.nu-section-today .nu-section-icon { background: linear-gradient(140deg, var(--g), var(--gd)); box-shadow: 0 3px 10px rgba(15,23,42,.22); }
.nu-section-today {
  background: linear-gradient(165deg, #FFFFFF 0%, var(--gl) 100%);
  border: 1px solid var(--bdr); border-radius: var(--rxl); padding: 18px;
}
.nu-section-today .nu-no-results { background: rgba(255,255,255,.7); border-color: var(--gg); }

/* ── Filters ── */
.nu-filter-row {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px;
}
.nu-filter-select {
  padding: 9px 30px 9px 12px;
  border: 1.5px solid var(--bdr); border-radius: var(--r);
  font-family: var(--fn); font-size: 12.5px; color: var(--tx);
  background-color: var(--bg); outline: none; cursor: pointer;
  transition: var(--tr); appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
}
.nu-filter-select:focus { border-color: var(--g); box-shadow: 0 0 0 3px rgba(15,23,42,.09); }
.nu-filter-reset {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--fn); font-size: 12.5px; font-weight: 600;
  color: var(--txm); background: var(--sur);
  border: 1.5px solid var(--bdr); border-radius: var(--r);
  padding: 9px 16px; cursor: pointer; transition: var(--tr);
}
.nu-filter-reset svg { width: 14px; height: 14px; }
.nu-filter-reset:hover { border-color: var(--gg); background: var(--gl); color: var(--g); }

/* Active filter chips */
.nu-active-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.nu-active-filters:empty { margin-top: 0; }
.nu-chip {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--gl); color: var(--gd);
  border: 1px solid var(--gg); border-radius: 999px;
  padding: 3px 8px 3px 12px; font-size: 12px; font-weight: 600;
}
.nu-chip-x {
  background: none; border: none; cursor: pointer; padding: 0;
  color: var(--g); font-size: 16px; line-height: 1; display: flex;
  width: 18px; height: 18px; align-items: center; justify-content: center;
  border-radius: 50%; transition: var(--tr);
}
.nu-chip-x:hover { background: rgba(15,23,42,.1); }

/* ── Card badges (category + program) ── */
.nu-card-meta-row { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.nu-cat-badge, .nu-prog-badge {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .2px;
  padding: 2px 10px; border-radius: 6px; border: 1px solid var(--gg);
  background: var(--gl); color: var(--g);
}
.nu-cat-admission { background:#E8F5EE; color:#0A6B3A; border-color:#BFE0CD; }
.nu-cat-exam      { background:#F3ECFB; color:#7A3D9B; border-color:#E1D2F2; }
.nu-cat-result    { background:#FBF8E7; color:#8A6D1C; border-color:#EFE6B6; }
.nu-cat-news      { background:#E7F1FB; color:#1C5D9B; border-color:#C5DCF3; }
.nu-cat-other     { background:#F4F5F6; color:#6B7280; border-color:#E2E5E8; }
.nu-prog-badge {
  background: #F1F5F9; color: #334155; border-color: #D9E1EB; font-weight: 600;
}

/* ── Category cards ── */
.nu-cat-cards {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px;
}
.nu-cat-card {
  --cat-c: var(--g); --cat-bg: var(--gl); --cat-bd: var(--gg);
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  background: var(--sur); border: 1px solid var(--bdr);
  border-radius: var(--rl); padding: 16px; cursor: pointer;
  text-align: left; font-family: var(--fn);
  position: relative; overflow: hidden;
}
.nu-cat-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--cat-c); opacity: 0;
}
.nu-cat-card.is-active::before { opacity: 1; }
.nu-cat-card.is-active { border-color: var(--cat-c); background: var(--cat-bg); }
.nu-cat-card-icon {
  width: 40px; height: 40px; border-radius: 11px; display: inline-flex;
  align-items: center; justify-content: center;
  color: var(--cat-c); background: var(--cat-bg); border: 1px solid var(--cat-bd);
}
.nu-cat-card-icon svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nu-cat-card-count { font-size: 22px; font-weight: 700; color: var(--tx); line-height: 1; }
.nu-cat-card-name { font-size: 12.5px; font-weight: 600; color: var(--txm); }
.nu-cat-card.nu-cat-admission { --cat-c:#0A6B3A; --cat-bg:#E8F5EE; --cat-bd:#BFE0CD; }
.nu-cat-card.nu-cat-exam      { --cat-c:#7A3D9B; --cat-bg:#F3ECFB; --cat-bd:#E1D2F2; }
.nu-cat-card.nu-cat-result    { --cat-c:#8A6D1C; --cat-bg:#FBF8E7; --cat-bd:#EFE6B6; }
.nu-cat-card.nu-cat-news      { --cat-c:#1C5D9B; --cat-bg:#E7F1FB; --cat-bd:#C5DCF3; }
.nu-cat-card.nu-cat-other     { --cat-c:#6B7280; --cat-bg:#F4F5F6; --cat-bd:#E2E5E8; }

/* ── User manual ── */
.nu-section-manual { background: var(--sur); border: 1px solid var(--bdr); border-radius: var(--rxl); padding: 20px; }
.nu-manual-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.nu-manual-step { display: flex; gap: 12px; align-items: flex-start; }
.nu-manual-icon {
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; background: linear-gradient(140deg, var(--g), var(--gd));
  box-shadow: 0 3px 8px rgba(15,23,42,.2);
}
.nu-manual-icon svg { width: 19px; height: 19px; }
.nu-manual-body h3 { margin: 4px 0 4px; font-size: 14.5px; font-weight: 700; color: var(--gd); line-height: 1.3; }
.nu-manual-body p { margin: 0; font-size: 13px; line-height: 1.65; color: var(--txm); }
.nu-manual-body strong { color: var(--gd); font-weight: 700; }

/* ── FAQ accordion ── */
.nu-section-faq { background: var(--sur); border: 1px solid var(--bdr); border-radius: var(--rxl); padding: 20px; }
.nu-faq-list { display: flex; flex-direction: column; gap: 10px; }
.nu-faq-item {
  border: 1px solid var(--bdr); border-radius: var(--rl);
  background: var(--bg); overflow: hidden; transition: var(--tr);
}
.nu-faq-item.is-open { border-color: var(--gg); background: var(--sur); box-shadow: var(--sh); }
.nu-faq-q {
  width: 100%; display: flex; align-items: center; gap: 12px;
  background: none; border: none; cursor: pointer; text-align: left;
  padding: 14px 16px; font-family: var(--fn);
}
.nu-faq-qtext {
  margin: 0; flex: 1 1 auto; font-size: 14.5px; font-weight: 600;
  color: var(--gd); line-height: 1.5;
}
.nu-faq-chevron {
  flex: 0 0 auto; width: 28px; height: 28px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--g); background: var(--gl); border: 1px solid var(--gg);
  transition: var(--tr);
}
.nu-faq-chevron svg { width: 16px; height: 16px; }
.nu-faq-item.is-open .nu-faq-chevron { transform: rotate(180deg); color: #fff; background: var(--g); border-color: var(--g); }
.nu-faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height 0.28s ease;
}
.nu-faq-a p {
  margin: 0; padding: 0 16px 16px; font-size: 13.5px;
  line-height: 1.7; color: var(--txm);
}

/* ── Responsive (v3) ── */
@media (max-width: 880px) {
  .nu-cat-cards { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .nu-manual-grid { grid-template-columns: 1fr; }
  .nu-cat-cards { grid-template-columns: repeat(2, 1fr); }
  .nu-filter-select { flex: 1 1 calc(50% - 4px); }
  .nu-section-today { padding: 14px; }
}
@media (max-width: 380px) {
  .nu-cat-cards { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  
}
