/* Sitio público — diseño "25 claro, azul y blanco" elegido por el profesor.
   El admin y el editor/viewer de notebooks conservan sus propios estilos. */

:root{
  --bg:#ffffff;
  --bg-2:#eef5fc;
  --surface:#f7fbfe;
  --surface-2:#eaf2fb;
  --border:rgba(20,60,110,.12);
  --text:#16263c;
  --muted:#5c7590;
  --accent:#2b5fd9;
  --accent-soft:#6f93e6;
  --accent2:#4a90d9;
  --accent2-soft:#8ec2ea;
  --radius:18px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; line-height:1.65;}
h1,h2,h3,h4{font-family:'Literata',serif; margin:0; color:var(--text); font-weight:600;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
img{max-width:100%;}
/* La barra de navegación, el pie de contacto y .wrap viven en
   site-chrome.css: el visor de notebooks los comparte sin cargar esta hoja. */

/* ---------- Hero ---------- */
header.hero{
  padding:72px 0 56px; position:relative;
  background: radial-gradient(circle at 15% 0%, #e4eefb 0%, transparent 55%),
              radial-gradient(circle at 90% 30%, #eef5fc 0%, transparent 50%),
              var(--bg);
  border-bottom:1px solid var(--border);
}
.hero-inner{display:flex; gap:44px; align-items:center;}
.avatar{
  width:180px; height:180px; min-width:180px; border-radius:50%;
  background:linear-gradient(135deg, var(--accent2-soft), var(--accent-soft));
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
  box-shadow:0 0 0 6px var(--bg-2), 0 0 60px rgba(43,95,217,.18);
}
.avatar img{width:100%; height:100%; object-fit:cover;}
.avatar span{font-family:'Literata',serif; font-weight:700; font-size:3rem; color:#1c2230;}
h1.name{font-size:clamp(2.1rem,4.2vw,3rem); margin-top:10px;}
.role{color:var(--muted); margin-top:8px; font-size:1.05rem;}
.bio-short{max-width:640px; margin-top:18px; font-size:1.05rem; color:#3a4f68;}
.contact-mini{margin-top:14px; display:flex; gap:20px; flex-wrap:wrap; color:var(--muted); font-size:.9rem;}
.contact-mini span{display:inline-flex; align-items:center; gap:7px;}
.links-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.chip{
  display:inline-flex; align-items:center; gap:7px; background:var(--surface);
  padding:9px 15px; border-radius:999px; font-size:.85rem; font-weight:500; color:var(--text);
  border:1px solid var(--border); transition:.2s;
}
.chip:hover{border-color:var(--accent); color:var(--accent); transform:translateY(-2px);}

/* ---------- Secciones ---------- */
section{padding:56px 0;}
.section-title{font-size:clamp(1.4rem,3vw,1.8rem); margin-bottom:26px; display:flex; align-items:center; gap:10px;}
.section-title i{color:var(--accent); font-size:1.2rem;}
.page-head{padding:48px 0 8px;}
.page-head .section-title{margin-bottom:10px;}
.page-head .lead{color:var(--muted); max-width:680px; margin:0;}

.layout{display:grid; grid-template-columns:320px 1fr; gap:40px; align-items:start;}
aside.sidebar{position:sticky; top:84px; display:flex; flex-direction:column; gap:22px;}
.side-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px;}
.side-card h3{font-size:1.1rem; margin-bottom:16px; display:flex; align-items:center; gap:9px;}
.side-card h3 i{color:var(--accent2); font-size:1.05rem;}

.timeline{border-left:2px solid var(--border); padding-left:18px; display:flex; flex-direction:column; gap:18px;}
.timeline li{position:relative; list-style:none;}
.timeline li::before{content:''; position:absolute; left:-24px; top:4px; width:10px; height:10px; border-radius:50%; background:var(--accent2); box-shadow:0 0 0 4px rgba(74,144,217,.18);}
.timeline h4{font-size:.92rem; font-family:'Inter',sans-serif; font-weight:600;}
.timeline .meta{color:var(--muted); font-size:.8rem; margin-top:2px;}

.award-list li{display:flex; gap:12px; padding:11px 0; border-bottom:1px solid var(--border);}
.award-list li:last-child{border-bottom:none;}
.award-list i{color:var(--accent); margin-top:3px;}
.award-list h4{font-size:.88rem; font-family:'Inter',sans-serif; font-weight:600;}
.award-list .meta{color:var(--muted); font-size:.78rem; margin-top:2px;}

/* ---------- Tarjetas ---------- */
.card{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:22px;}
.cards-2{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.paper-title{font-weight:600; font-size:1rem; margin-bottom:8px;}
.paper-meta{color:var(--muted); font-size:.85rem; margin-bottom:14px;}
.paper-abstract{color:#3a4f68; font-size:.9rem; margin:0 0 14px;}
.badge{display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:700; padding:5px 12px; border-radius:999px;}
.badge.published{background:rgba(74,144,217,.16); color:var(--accent2);}
.badge.review{background:rgba(43,95,217,.16); color:var(--accent);}
.badge.submitted{background:rgba(113,134,166,.16); color:#7186a6;}
.badge.accepted{background:rgba(43,143,101,.14); color:#2b8f65;}
.badge.prep{background:rgba(92,117,144,.14); color:var(--muted);}
.badge.draft{background:rgba(22,38,60,.75); color:#fff;}
.badge.type{background:var(--surface-2); color:var(--muted); border:1px solid var(--border);}
.badge-row{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px;}
.pub-links{display:flex; flex-wrap:wrap; gap:14px; margin-top:4px;}
.pub-links a{display:inline-flex; align-items:center; gap:6px; font-size:.85rem; font-weight:600; color:var(--accent);}
.pub-links a:hover{text-decoration:underline;}
.book-card{grid-column:span 2; display:flex; gap:20px; align-items:center;}
.book-card.one-col{grid-column:span 1;}
.book-cover{width:78px; height:106px; min-width:78px; border-radius:8px; background:linear-gradient(160deg, var(--accent2-soft), var(--accent-soft)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.6rem;}

.talks{display:flex; flex-direction:column; gap:14px;}
.talk{display:flex; gap:16px; align-items:flex-start; padding:18px 20px;}
.talk i{color:var(--accent2); font-size:1.1rem; margin-top:2px;}
.talk h4{font-size:1rem; font-family:'Inter',sans-serif; font-weight:600;}

.courses{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.course{padding:18px 20px; display:block; transition:.2s;}
a.course:hover{border-color:var(--accent); transform:translateY(-2px); box-shadow:0 8px 22px rgba(20,60,110,.08);}
.course h4{margin-top:6px; font-size:1rem; font-family:'Inter',sans-serif; font-weight:600;}
.course p{color:var(--muted); font-size:.85rem; margin-top:6px; margin-bottom:0;}
.course .count{margin-top:10px; font-size:.8rem; color:var(--muted); display:inline-flex; align-items:center; gap:6px;}

/* ---------- Botón "ver más" ---------- */
.more-row{display:flex; justify-content:center; margin-top:26px;}
.btn-more{
  display:inline-flex; align-items:center; gap:8px; background:var(--surface);
  border:1px solid var(--border); color:var(--accent); font-weight:600; font-size:.92rem;
  padding:11px 22px; border-radius:999px; transition:.2s; cursor:pointer; font-family:'Inter',sans-serif;
}
.btn-more:hover{border-color:var(--accent); transform:translateY(-2px); box-shadow:0 8px 22px rgba(20,60,110,.1);}
.btn-more.primary{background:var(--accent); color:#fff; border-color:var(--accent);}
.btn-more.primary:hover{background:#2450b8;}

/* ---------- Filtros (página investigación) ---------- */
.filter-row{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 8px;}
.filter-row .chip.active{background:var(--accent); color:#fff; border-color:var(--accent);}

/* ---------- Curso: carpetas y notebooks ---------- */
.folder{background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); margin-bottom:16px; overflow:hidden;}
.folder summary{
  list-style:none; cursor:pointer; padding:18px 22px; display:flex; align-items:center; gap:12px;
  font-family:'Inter',sans-serif; font-weight:600; font-size:1rem; user-select:none;
}
.folder summary::-webkit-details-marker{display:none;}
.folder summary i.bi-folder2{color:var(--accent); font-size:1.15rem;}
.folder summary .folder-count{margin-left:auto; color:var(--muted); font-size:.8rem; font-weight:500;}
.folder summary .chev{color:var(--muted); transition:transform .2s;}
.folder[open] summary .chev{transform:rotate(90deg);}
.folder[open] summary{border-bottom:1px solid var(--border); background:var(--surface-2);}
.nb-list li{border-bottom:1px solid var(--border);}
.nb-list li:last-child{border-bottom:none;}
.nb-list a{
  display:flex; align-items:center; gap:12px; padding:14px 22px; font-size:.95rem; font-weight:500;
  transition:.15s;
}
.nb-list a:hover{background:var(--surface-2); color:var(--accent);}
.nb-list i{color:var(--accent2);}
.nb-list .open-hint{margin-left:auto; color:var(--muted); font-size:.78rem; display:inline-flex; align-items:center; gap:5px;}

.empty-note{color:var(--muted); background:var(--surface); border:1px dashed var(--border); border-radius:var(--radius); padding:26px; text-align:center;}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .layout{grid-template-columns:1fr;}
  aside.sidebar{position:static; flex-direction:row; flex-wrap:wrap;}
  .side-card{flex:1 1 280px;}
}
@media(max-width:760px){
  .hero-inner{flex-direction:column; text-align:center;}
  .contact-mini, .links-row{justify-content:center;}
  .cards-2{grid-template-columns:1fr;}
  .book-card{grid-column:span 1; flex-direction:column; text-align:center;}
  .courses{grid-template-columns:1fr;}
  aside.sidebar{flex-direction:column;}
}
