/* Editorial pages for the four complete student materials. Scoped so Estudios keeps its approved shell. */
.student-material-page,
.student-materials-index {
  --student-paper: #f0ece3;
  --student-paper-deep: #e8e2d8;
  --student-petrol: #303c42;
  --student-petrol-soft: #415b65;
  --student-ink: #171a1b;
  --student-muted: #54534f;
  --student-gold: #806439;
  background: var(--student-paper);
  color: var(--student-ink);
  margin: 0;
  padding: clamp(2rem, 5vw, 5rem) clamp(1rem, 5vw, 5.5rem) clamp(4rem, 8vw, 7rem);
  min-height: 70vh;
}
.student-material-inner { max-width: 1180px; margin: 0 auto; }
.student-material-breadcrumbs { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; color:var(--student-muted); font:600 .76rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; text-transform:uppercase; margin-bottom:2.5rem; }
.student-material-breadcrumbs a { color:var(--student-petrol); text-decoration:underline; text-underline-offset:.2em; }
.student-material-kicker { color:var(--student-gold); font:700 .78rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.14em; text-transform:uppercase; margin:0 0 1rem; }
.student-material-page h1, .student-materials-index h1 { color:var(--student-petrol); font:700 clamp(2.35rem, 5vw, 5rem)/.98 Georgia,serif; letter-spacing:-.035em; max-width:850px; margin:0; }
.student-material-page h2, .student-materials-index h2 { color:var(--student-petrol); font:700 clamp(1.45rem, 2.4vw, 2.25rem)/1.08 Georgia,serif; margin:0 0 1rem; }
.student-material-page h3, .student-materials-index h3 { color:var(--student-petrol); font:700 1.15rem/1.2 system-ui,sans-serif; margin:0 0 .6rem; }
.student-material-page p, .student-materials-index p { color:var(--student-ink); }
.student-material-page .student-note, .student-materials-index .student-note { color:var(--student-muted); }
.student-materials-index h1 em { color:var(--student-petrol-soft); }
.student-material-page h1 em { color:var(--student-petrol-soft); }
.student-material-deck { color:var(--student-muted); font:400 clamp(1.08rem, 1.6vw, 1.35rem)/1.55 system-ui,sans-serif; max-width:720px; margin:1.2rem 0 0; }
.student-material-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:clamp(2rem,7vw,6rem); align-items:end; border-bottom:1px solid rgba(58,59,56,.25); padding-bottom:clamp(2rem,4vw,4rem); }
.student-material-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.student-download, .student-material-link { display:inline-flex; align-items:center; justify-content:center; min-height:2.8rem; padding:.75rem 1.1rem; border:1px solid var(--student-petrol); border-radius:999px; background:var(--student-petrol); color:#fff; font:700 .92rem/1.2 system-ui,sans-serif; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.student-download:hover, .student-download:focus-visible, .student-material-link:hover, .student-material-link:focus-visible { background:var(--student-petrol-soft); transform:translateY(-1px); }
.student-material-link.secondary { background:transparent; color:var(--student-petrol); }
.student-meta-panel { border:1px solid rgba(58,59,56,.25); background:rgba(255,255,255,.28); padding:1.25rem 1.4rem; }
.student-meta-panel dl { display:grid; grid-template-columns:auto 1fr; gap:.65rem 1rem; margin:0; font: .9rem/1.5 system-ui,sans-serif; }
.student-meta-panel dt { color:var(--student-muted); font-weight:600; }
.student-meta-panel dd { margin:0; color:var(--student-ink); }
.student-layout { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr); gap:clamp(2rem,6vw,5rem); margin-top:clamp(2rem,5vw,4.5rem); align-items:start; }
.student-sidebar { position:sticky; top:1rem; }
.student-panel { background:rgba(255,255,255,.38); border:1px solid rgba(58,59,56,.18); padding:1.3rem; }
.student-panel + .student-panel { margin-top:1rem; }
.student-panel h2 { font-size:1.3rem; }
.student-objectives { list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.student-objectives li { display:grid; grid-template-columns:2.1rem 1fr; gap:.6rem; align-items:start; font:600 .94rem/1.4 system-ui,sans-serif; }
.student-objectives li::before { content:counter(item,decimal-leading-zero); counter-increment:item; color:var(--student-gold); font:700 .75rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace; }
.student-objectives { counter-reset:item; }
.student-toc { list-style:none; padding:0; margin:0; display:grid; gap:.2rem; max-height:28rem; overflow:auto; }
.student-toc a { display:grid; grid-template-columns:2.5rem 1fr; gap:.5rem; padding:.5rem .3rem; color:var(--student-petrol); text-decoration:none; border-bottom:1px solid rgba(58,59,56,.1); font:.88rem/1.35 system-ui,sans-serif; }
.student-toc a:hover, .student-toc a:focus-visible { background:var(--student-paper-deep); }
.student-toc .page-no { color:var(--student-gold); font:700 .75rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; }
.student-content { min-width:0; }
.student-content > section { border-top:1px solid rgba(58,59,56,.2); padding-top:2rem; margin-top:2.5rem; }
.student-content p { max-width:760px; font:1.02rem/1.65 system-ui,sans-serif; }
.student-note { background:var(--student-paper-deep); border-left:3px solid var(--student-gold); padding:1rem 1.2rem; color:var(--student-muted); font:.93rem/1.55 system-ui,sans-serif; }
.student-related { display:flex; flex-wrap:wrap; gap:.45rem; }
.student-related a { color:var(--student-petrol); border:1px solid rgba(58,59,56,.25); padding:.55rem .7rem; text-decoration:none; font:.84rem/1.25 system-ui,sans-serif; }
.student-related a:hover, .student-related a:focus-visible { border-color:var(--student-gold); background:#f0ece3; }
.student-index-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; margin-top:3rem; }
.student-material-card { display:flex; flex-direction:column; min-height:18rem; border:1px solid rgba(58,59,56,.2); background:rgba(255,255,255,.45); padding:1.5rem; text-decoration:none; color:inherit; transition:transform .2s ease,box-shadow .2s ease; }
.student-material-card:hover, .student-material-card:focus-visible { transform:translateY(-3px); box-shadow:0 .8rem 2rem rgba(58,59,56,.1); }
.student-material-card .card-number { color:var(--student-gold); font:700 .8rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.1em; }
.student-material-card p { color:var(--student-muted); font:.98rem/1.55 system-ui,sans-serif; }
.student-material-card .card-footer { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:1.2rem; color:var(--student-petrol); font-weight:700; }
.student-glossary-search { display:flex; gap:.7rem; align-items:end; flex-wrap:wrap; margin-bottom:1rem; }
.student-glossary-search label { display:block; width:100%; color:var(--student-petrol); font-weight:700; }
.student-glossary-search input { flex:1 1 18rem; min-height:2.75rem; border:1px solid rgba(58,59,56,.4); background:#faf8f3; color:var(--student-ink); padding:.6rem .75rem; font:1rem/1.3 system-ui,sans-serif; }
.student-glossary-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.student-glossary-term { border:1px solid rgba(58,59,56,.16); background:rgba(255,255,255,.4); padding:.8rem; }
.student-glossary-term strong { color:var(--student-petrol); }
.student-print-note { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; background:var(--student-petrol); color:#fff; padding:1rem 1.2rem; margin-top:1.2rem; }
.student-print-note p { margin:0; font-size:.92rem; color:#fff!important; }
.student-print-note button { border:1px solid rgba(255,255,255,.7); background:transparent; color:#fff; border-radius:999px; padding:.6rem .8rem; font-weight:700; cursor:pointer; }
.student-material-page a:focus-visible, .student-materials-index a:focus-visible, .student-material-page button:focus-visible, .student-materials-index button:focus-visible, .student-material-page input:focus-visible { outline:3px solid var(--student-gold); outline-offset:3px; }
@media (max-width: 800px) { .student-material-hero,.student-layout { grid-template-columns:1fr; } .student-sidebar { position:static; } .student-index-grid,.student-glossary-results { grid-template-columns:1fr; } .student-toc { max-height:none; } }
@media print { body { background:#fff!important; } .site-header,.review-bar,.footer,.student-material-actions,.student-sidebar,.student-print-note { display:none!important; } .student-material-page { padding:0; background:#fff; } .student-material-hero,.student-layout { display:block; } .student-content { max-width:100%; } }
/* A complete searchable glossary, with a bounded, keyboard-accessible result list. */
.student-glossary-results{max-height:40rem;overflow:auto;overscroll-behavior:contain;align-content:start;padding:.3rem;scrollbar-width:thin}
.student-glossary-results:focus-visible{outline:3px solid var(--student-gold);outline-offset:3px}
.student-glossary-results [hidden]{display:none!important}
.student-glossary-lessons{margin-top:.45rem;line-height:1.9}
@media(max-width:800px){.student-glossary-results{max-height:65vh}.student-glossary-search input{min-width:0}}
