/**
 * Devi Academy — class examination timetable pages
 * Shared by /class-x-revision-2026-27, /class-xi-unit-test-2-2026-27, /class-xii-revision-2026-27
 * and the class summaries on /timetable. Load after devi-modern.css.
 */
.ett-wrap { max-width: 64rem; margin: 0 auto; }
.ett-crumbs { font-size: 0.875rem; margin: 0 0 1rem; color: var(--devi-text-muted); }
.ett-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ett-crumbs li + li::before { content: "›"; margin-right: 0.35rem; color: var(--devi-text-muted); }
.ett-crumbs a { color: var(--devi-primary); font-weight: 600; }
.ett-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 1.25rem; }
.ett-head-text { flex: 1 1 24rem; min-width: 0; }
.ett-head h2 { color: var(--devi-primary-dark); font-size: 1.5rem; font-weight: 700; margin: 0 0 0.3rem; }
.ett-eyebrow { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--devi-accent); margin-bottom: 0.35rem; }
.ett-facts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.9rem 0 0; padding: 0; list-style: none; }
.ett-facts li { background: var(--devi-surface); border: 1px solid var(--devi-border); border-radius: var(--devi-radius-pill); padding: 0.35rem 0.85rem; font-size: 0.85rem; font-weight: 600; color: var(--devi-primary-dark); }
.ett-actions { display: flex; flex-direction: column; gap: 0.6rem; min-width: 15rem; flex: 0 0 auto; }
.ett-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; white-space: nowrap; }
.ett-actions .btn small { font-weight: 500; opacity: 0.85; font-size: 0.8rem; }
.ett-actions .btn svg { width: 1.1em; height: 1.1em; flex: none; }
.ett-btn-light { background: #fff !important; color: var(--devi-primary-dark) !important; border: 1px solid var(--devi-border) !important; }
.ett-btn-light:hover { border-color: var(--devi-primary) !important; color: var(--devi-primary) !important; }
.ett-jump { margin-top: 1rem; }
.ett-jump a::after { content: " ↓"; }
.ett-info { margin: 1.1rem 0 0; }
.ett-info ul { margin: 0; padding-left: 1.1rem; }
.ett-info li + li { margin-top: 0.2rem; }
.ett-block { scroll-margin-top: 1rem; }
.ett-section-title { color: var(--devi-primary-dark); font-size: 1.25rem; font-weight: 700; margin: 0 0 0.35rem; }
.ett-section-note { color: var(--devi-text-muted); font-size: 0.92rem; margin: 0 0 1rem; }
.ett-exam-title { color: var(--devi-primary-dark); font-size: 1.08rem; font-weight: 700; margin: 1.75rem 0 0.3rem; scroll-margin-top: 1rem; }
.ett-exam-title:first-of-type { margin-top: 0.5rem; }
.ett-exam-note { color: var(--devi-text-muted); font-size: 0.9rem; margin: 0 0 0.75rem; }
.ett-schedule { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.97rem; border: 1px solid var(--devi-border); border-radius: var(--devi-radius); overflow: hidden; margin-bottom: 0.25rem; }
.ett-schedule thead th { background: var(--devi-primary-dark); color: #fff; font-weight: 600; padding: 0.8rem 1rem; text-align: left; }
.ett-schedule td, .ett-schedule tbody th { padding: 0.85rem 1rem; border-top: 1px solid var(--devi-border); vertical-align: middle; text-align: left; }
.ett-schedule tbody tr:nth-child(even) { background: #f8fafc; }
.ett-schedule tbody th { font-weight: 700; color: var(--devi-primary-dark); white-space: nowrap; width: 11rem; }
.ett-day { color: var(--devi-text-muted); font-weight: 600; white-space: nowrap; width: 9rem; }
.ett-subjects { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.ett-subjects li { background: #eef4fb; color: var(--devi-primary-dark); border: 1px solid #d6e3f3; border-radius: var(--devi-radius-pill); padding: 0.2rem 0.75rem; font-weight: 600; font-size: 0.9rem; }
.ett-schedule tr.ett-today { background: #fff4e5 !important; box-shadow: inset 4px 0 0 var(--devi-gold); }
.ett-today-tag { display: none; margin-left: 0.4rem; background: var(--devi-gold); color: #fff; font-size: 0.7rem; font-weight: 700; padding: 0.1rem 0.45rem; border-radius: var(--devi-radius-pill); vertical-align: middle; text-transform: uppercase; letter-spacing: 0.04em; }
tr.ett-today .ett-today-tag, tr.exam-tt__today .ett-today-tag { display: inline-block; }
.ett-portions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0 0 0.5rem; padding: 0; list-style: none; }
.ett-card { background: #fff; border: 1px solid var(--devi-border); border-top: 3px solid var(--devi-primary); border-radius: var(--devi-radius); padding: 1rem 1.15rem 1.05rem; box-shadow: var(--devi-shadow-sm); break-inside: avoid; page-break-inside: avoid; }
.ett-card h4 { font-family: var(--devi-font-body); font-size: 1.05rem; font-weight: 700; color: var(--devi-heading); margin: 0 0 0.25rem; }
.ett-card-date { display: block; font-size: 0.8rem; font-weight: 600; color: var(--devi-accent); margin-bottom: 0.6rem; }
.ett-card ul { margin: 0; padding-left: 1.1rem; list-style: disc; }
.ett-card li + li { margin-top: 0.2rem; }
.ett-card .exam-tt-portion-label { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; }
.ett-card [lang="hi"], .ett-card [lang="sa"], .ett-card [lang="hi"] *, .ett-card [lang="sa"] * { font-family: 'Tiro Devanagari Sanskrit', 'Noto Sans Devanagari', 'Kohinoor Devanagari', 'Nirmala UI', 'Mangal', serif; }
.ett-card [lang="hi"], .ett-card [lang="sa"] { font-size: 1.02rem; }
.ett-card [lang="hi"] .exam-tt-portion-label, .ett-card [lang="sa"] .exam-tt-portion-label, .ett-card [lang="ta"] .exam-tt-portion-label { text-transform: none; letter-spacing: 0; font-size: 0.95rem; }
.ett-card-note { margin: 0.6rem 0 0; font-size: 0.88rem; color: var(--devi-text-muted); }
.ett-card details { margin-top: 0.7rem; font-size: 0.88rem; }
.ett-card summary { cursor: pointer; color: var(--devi-primary); font-weight: 600; }
.ett-card details img { display: block; width: 100%; height: auto; margin-top: 0.5rem; border: 1px solid var(--devi-border); border-radius: var(--devi-radius-sm); }
.ett-disclaimer { margin: 1.5rem 0 0; font-size: 0.88rem; color: var(--devi-text-muted); }
.ett-back { margin-top: 1.25rem; }
.ett-print-title { display: none; text-align: center; margin-bottom: 1rem; }
.ett-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* /timetable class summaries */
.exam-tt-links { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 1.1rem; }
.exam-tt-links .btn { padding: 0.55rem 1.15rem !important; font-size: 0.875rem !important; }
.exam-tt-portions-link { margin: 1rem 0 0; font-weight: 600; font-size: 0.92rem; }

@media (max-width: 767px) {
  .ett-actions { width: 100%; min-width: 0; }
  .ett-actions .btn { width: 100%; white-space: normal; }
  .ett-portions { grid-template-columns: 1fr; }
  .ett-head h2 { font-size: 1.3rem; }
  .exam-tt-links .btn { width: 100%; justify-content: center; }
}
@media (max-width: 575px) {
  .exam-tt-block.ett-block { padding: 1.25rem 1rem; }
  .ett-schedule, .ett-schedule tbody, .ett-schedule tr, .ett-schedule th, .ett-schedule td { display: block; width: 100%; }
  .ett-schedule { border: 0; border-radius: 0; overflow: visible; }
  .ett-schedule thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ett-schedule tbody tr { background: #fff !important; border: 1px solid var(--devi-border); border-left: 4px solid var(--devi-primary); border-radius: var(--devi-radius-sm); padding: 0.8rem 0.9rem; margin-bottom: 0.7rem; box-shadow: var(--devi-shadow-sm); }
  .ett-schedule tbody tr.ett-today { border-left-color: var(--devi-gold); background: #fff8ec !important; box-shadow: var(--devi-shadow-sm); }
  .ett-schedule tbody th, .ett-schedule td { border: 0; padding: 0; width: auto; }
  .ett-schedule tbody th { font-size: 1.05rem; display: inline-block; width: auto; }
  .ett-schedule td.ett-day { display: inline-block; width: auto; margin-left: 0.4rem; font-size: 0.9rem; }
  .ett-schedule td.ett-subj { margin-top: 0.55rem; }
}
@media print {
  html body.page-inner .untree_co-hero.overlay:not(.devi-hero--home), html body:not(.page-home) .untree_co-hero.overlay:not(.devi-hero--home) { display: none !important; }
  html body .untree_co-section.bg-light { padding-top: 0 !important; }
  .site-nav, .site-mobile-menu, .site-footer, .devi-back-top, #overlayer, .loader, .ett-actions, .ett-crumbs, .ett-back, .exam-tt-jump, .ett-card details, .exam-tt-links { display: none !important; }
  body, .untree_co-section, .bg-light { background: #fff !important; }
  .exam-tt-block, .exam-tt-intro, .ett-card { box-shadow: none !important; border-color: #999 !important; }
  .ett-print-title { display: block !important; }
  .ett-schedule thead th { background: #fff !important; color: #000 !important; border-bottom: 2px solid #000; }
  .ett-subjects li { border: 0; background: none; padding: 0; }
  .ett-subjects li + li::before { content: "/ "; }
  .ett-portions { grid-template-columns: repeat(2, 1fr); }
  a[href]::after { content: none !important; }
  [data-aos] { opacity: 1 !important; transform: none !important; }
}

/* Tamil / Hindi / Sanskrit portions: compact comma-separated lists, as in the circular */
.ett-card div[lang] ul { list-style: none; padding-left: 0; }
.ett-card div[lang] li { display: inline; margin: 0; }
.ett-card div[lang] li + li { margin-top: 0; }
.ett-card div[lang] li + li::before { content: ", "; }
.ett-card [lang="ta"], .ett-card [lang="ta"] * { font-family: 'Noto Sans Tamil', 'Tamil Sangam MN', 'Nirmala UI', 'Latha', 'Hind Madurai', 'Catamaran', sans-serif; font-weight: 400; }
.ett-card [lang="ta"] .exam-tt-portion-label { font-weight: 700; }
