/* Materiales educativos: biblioteca (versión simple) */
.mat-lib .mat-sub{color:var(--ink-soft);margin:18px 0 0;max-width:none;}
.mat-toolbar{margin:18px 0 18px;}
.mat-search{display:flex;align-items:center;gap:10px;border:2px solid var(--sand);border-radius:999px;padding:0 18px;background:var(--white);}
.mat-search:focus-within{border-color:var(--leaf-600);}
.mat-search svg{width:20px;height:20px;color:var(--ink-soft);flex:none;}
.mat-search input{flex:1;border:0;background:transparent;font:inherit;padding:14px 0;outline:none;color:var(--ink);min-width:0;}

.mat-tabs{display:flex;gap:8px;margin:16px 0 14px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px;scrollbar-width:none;-ms-overflow-style:none;}
.mat-tabs::-webkit-scrollbar{display:none;}
.mat-tab{flex:none;border:2px solid #cfe3c3;background:#eef6e8;font:inherit;font-weight:700;font-size:.95rem;color:var(--forest-800);padding:9px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.mat-tab span{font-size:.75rem;font-weight:800;background:#fff;color:var(--leaf-600);border-radius:999px;padding:2px 8px;margin-left:4px;}
.mat-tab:hover{background:#e2f0d8;border-color:#b5d4a2;}
.mat-tab.is-active{color:#fff;background:var(--leaf-600);border-color:var(--leaf-600);box-shadow:0 6px 14px -8px rgba(47,107,36,.8);}
.mat-tab.is-active span{background:#fff;color:var(--leaf-600);}

.mat-sel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.mat-sel select{font:inherit;font-size:.9rem;font-weight:600;color:var(--forest-900);border:2px solid var(--sand);border-radius:999px;background:var(--white);padding:8px 14px;cursor:pointer;}
.mat-count{margin-left:auto;font-size:.88rem;color:var(--ink-soft);}
.mat-clear{border:0;background:none;color:var(--leaf-600);font:inherit;font-weight:800;font-size:.88rem;cursor:pointer;text-decoration:underline;}

.mat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.mat-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;}
.mat-card:hover{transform:translateY(-3px);box-shadow:0 16px 28px -14px rgba(12,31,16,.4);border-color:var(--leaf-600);}
.mat-card[hidden]{display:none;}
.mat-cover{display:block;position:relative;aspect-ratio:4/3;background:var(--leaf-100);overflow:hidden;border-bottom:1px solid var(--sand);}
.mat-cover img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.mat-stage{white-space:nowrap;position:absolute;left:10px;top:10px;background:var(--c,var(--leaf-600));color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.02em;padding:4px 11px;border-radius:999px;box-shadow:0 4px 10px -4px rgba(0,0,0,.45);}
.mat-noimg{width:100%;height:100%;display:grid;place-items:center;color:var(--leaf-600);}
.mat-noimg svg{width:44px;height:44px;}
.mat-info{display:flex;flex-direction:column;gap:8px;padding:16px 16px 16px;flex:1;background:#f7fbf3;}
.mat-title{font-weight:800;font-size:1.04rem;line-height:1.25;color:var(--forest-950);}
.mat-desc{font-size:.9rem;line-height:1.45;color:#3d4a37;}
.mat-meta{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding:12px 0 2px;border-top:1px solid #dcebd2;}
.mat-m{display:flex;gap:8px;font-size:.84rem;color:var(--forest-900);font-weight:600;line-height:1.3;}
.mat-m b{flex:none;width:64px;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--leaf-600);font-weight:800;padding-top:2px;}
.mat-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;background:var(--leaf-600);color:#fff;font-weight:800;font-size:.92rem;padding:11px 14px;border-radius:999px;transition:background .15s;box-shadow:0 6px 14px -8px rgba(47,107,36,.8);}
.mat-btn svg{width:18px;height:18px;flex:none;}
.mat-card:hover .mat-btn{background:var(--forest-700);}
.mat-empty{text-align:center;padding:30px 16px;color:var(--ink-soft);font-weight:600;}

@media (max-width:1100px){.mat-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:820px){.mat-grid{grid-template-columns:repeat(2,1fr);gap:12px;}}
@media (max-width:520px){
  .mat-grid{grid-template-columns:1fr;gap:14px;}
  .mat-count{margin-left:0;width:100%;}
  .mat-cover{aspect-ratio:16/9;}
  .mat-stage{white-space:nowrap;font-size:.7rem;padding:4px 10px;}
  .mat-info{padding:14px;gap:6px;}
  .mat-title{font-size:1rem;}
  .mat-desc{font-size:.86rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .mat-meta{gap:4px;padding-top:10px;}
  .mat-m{font-size:.8rem;}
  .mat-m b{width:58px;}
  .mat-btn{font-size:.88rem;padding:10px 12px;margin-top:6px;}
}

/* Visor de PDF */
.mat-cover{cursor:zoom-in;}
.mat-eye{position:absolute;right:10px;bottom:10px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--forest-900);display:grid;place-items:center;box-shadow:0 4px 12px -4px rgba(0,0,0,.45);opacity:0;transform:scale(.9);transition:opacity .15s,transform .15s;}
.mat-eye svg{width:20px;height:20px;}
.mat-card:hover .mat-eye,.mat-cover:focus-visible .mat-eye{opacity:1;transform:none;}
@media (hover:none){.mat-eye{opacity:1;transform:none;}}
.mat-viewer-on{overflow:hidden;}
.mat-viewer{position:fixed;inset:0;z-index:2000;background:rgba(10,24,12,.72);display:flex;align-items:center;justify-content:center;padding:20px;}
.mat-viewer[hidden]{display:none;}
.mat-viewer-box{display:flex;flex-direction:column;width:min(980px,100%);height:min(92vh,100%);background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 30px 70px -20px rgba(0,0,0,.6);}
.mat-viewer-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--sand);background:#f7fbf3;}
.mat-viewer-title{flex:1;margin:0;font-weight:800;font-size:1.05rem;color:var(--forest-950);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mat-viewer-close{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--sand);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-weight:700;font-size:.9rem;color:var(--forest-900);cursor:pointer;}
.mat-viewer-close svg{width:16px;height:16px;}
.mat-viewer-close:hover{border-color:var(--leaf-600);}
.mat-viewer-body{flex:1;min-height:0;background:#e8efe3;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;}
.mat-viewer-body.is-loading::before{content:'';display:block;width:34px;height:34px;margin:60px auto;border-radius:50%;border:4px solid #cfe3c3;border-top-color:var(--leaf-600);animation:matspin .8s linear infinite;}
@keyframes matspin{to{transform:rotate(360deg);}}
.mat-page{width:100%;max-width:860px;margin:0 auto 12px;background:#fff;box-shadow:0 6px 18px -10px rgba(0,0,0,.45);}
.mat-page canvas{display:block;}
.mat-viewer-body iframe{width:100%;height:100%;min-height:60vh;border:0;display:block;background:#e8efe3;}
.mat-viewer-foot{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-top:1px solid var(--sand);background:#f7fbf3;flex-wrap:wrap;}
.mat-viewer-nav{display:inline-flex;align-items:center;gap:6px;border:2px solid #cfe3c3;background:#eef6e8;color:var(--forest-800);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;}
.mat-viewer-nav svg{width:16px;height:16px;}
.mat-viewer-nav:disabled{opacity:.4;cursor:default;}
.mat-viewer-open{font-weight:700;font-size:.9rem;color:var(--leaf-600);text-decoration:underline;}
.mat-viewer-dl{margin-top:0;padding:10px 20px;text-decoration:none;}
@media (max-width:640px){
  .mat-viewer{padding:0;}
  .mat-viewer-box{width:100%;height:100%;border-radius:0;}
  .mat-viewer-foot{gap:8px;padding:10px 12px;}
  .mat-viewer-open{order:5;width:100%;text-align:center;}
  .mat-viewer-nav span{display:none;}
  .mat-viewer-dl{flex:1;justify-content:center;}
}
