/*
Theme Name: UNED Filosofia
Author: Brais Gomez
Description: Tema a medida para el proyecto de apuntes y practica de asignaturas del Grado en Filosofia (UNED).
Version: 1.0
Requires PHP: 7.4
*/

:root{
  --bg:#f6f7f9;
  --card:#ffffff;
  --ink:#1f2d3d;
  --muted:#5b6674;
  --accent:#1f4e78;
  --accent-dark:#153a5b;
  --good:#1e8e3e;
  --border:#e2e6eb;
}
*{box-sizing:border-box;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  margin:0;
  line-height:1.6;
}
.uf-header{
  background:var(--accent-dark);
  color:#fff;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.uf-header a{color:#fff;text-decoration:none;font-weight:700;font-size:1.1rem;}
.uf-wrap{max-width:920px;margin:0 auto;padding:32px 20px;}
.uf-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.05);}
.uf-price-box{display:flex;align-items:center;justify-content:space-between;background:#eaf1f8;border-radius:10px;padding:20px;margin:20px 0;}
.uf-price{font-size:1.6rem;font-weight:700;color:var(--accent-dark);}
.uf-btn{display:inline-block;background:var(--accent);color:#fff;padding:12px 22px;border-radius:8px;text-decoration:none;font-weight:600;border:none;cursor:pointer;font-size:1rem;}
.uf-btn:hover{background:var(--accent-dark);color:#fff;}
.uf-lesson-list{list-style:none;padding:0;margin:0;}
.uf-lesson-list li{border-bottom:1px solid var(--border);padding:14px 4px;}
.uf-lesson-list li:last-child{border-bottom:none;}
.uf-lesson-list a{color:var(--ink);text-decoration:none;font-weight:600;}
.uf-lesson-list a:hover{color:var(--accent);}
.uf-locked{color:var(--muted);font-size:0.85rem;margin-left:8px;}
.uf-paywall{background:#fff8e6;border:1px solid #f2d98a;border-radius:10px;padding:24px;text-align:center;margin-top:24px;}
.uf-content h1{color:var(--accent-dark);}
.uf-content h2{color:var(--accent);border-bottom:2px solid var(--border);padding-bottom:6px;margin-top:36px;}
.uf-badge{display:inline-block;background:var(--good);color:#fff;font-size:0.75rem;padding:3px 10px;border-radius:12px;}

/* Progreso del alumno */
.uf-progress-summary{margin:18px 0;}
.uf-progress-label{font-size:0.9rem;color:var(--muted);margin-bottom:6px;}
.bar-bg{background:#e6e9ee;border-radius:6px;height:9px;width:100%;overflow:hidden;}
.bar-fill{background:var(--accent);border-radius:6px;height:9px;transition:width .3s ease;}
.uf-check{color:var(--good);font-weight:800;}
.uf-continue-btn{margin:16px 0;}
.uf-all-done{background:#e6f4ea;color:#0d4a1f;border-radius:10px;padding:16px 20px;margin:16px 0;font-weight:600;}
.uf-progress-actions{margin-top:32px;padding-top:20px;border-top:1px solid var(--border);}
.uf-complete-btn{background:#fff;color:var(--accent);border:2px solid var(--accent);padding:11px 20px;border-radius:8px;font-weight:700;font-size:0.95rem;cursor:pointer;}
.uf-complete-btn:hover{background:#eaf1f8;}
.uf-complete-btn.is-complete{background:var(--good);color:#fff;border-color:var(--good);}
.uf-complete-btn:disabled{opacity:.6;cursor:default;}

/* Modo lectura / presentación */
.uf-mode-toggle{display:flex;gap:8px;margin:16px 0 24px;}
.uf-mode-btn{background:#fff;color:var(--muted);border:1px solid var(--border);padding:9px 16px;border-radius:8px;font-weight:600;font-size:0.9rem;cursor:pointer;}
.uf-mode-btn:hover{border-color:var(--accent);color:var(--accent);}
.uf-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}

.uf-present-wrap{margin-top:8px;}
.uf-present-count{font-size:0.8rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;}
.uf-present-progress{background:#e6e9ee;border-radius:6px;height:8px;width:100%;overflow:hidden;margin-bottom:6px;}
.uf-present-bar{background:linear-gradient(90deg,var(--accent),#4a90c4);border-radius:6px;height:8px;transition:width .35s ease;}
.uf-slide-counter{font-size:0.78rem;color:var(--muted);text-align:right;margin-bottom:16px;}

.uf-slide{
  position:relative;
  background:radial-gradient(circle at 15% 0%, #eef4fa 0%, #ffffff 45%);
  border:1px solid var(--border);
  border-radius:20px;
  padding:36px 40px;
  min-height:220px;
  max-height:62vh;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 8px 24px rgba(20,40,70,.10);
  text-align:center;
}
.uf-slide-icon{
  font-size:2.6rem;
  line-height:1;
  margin:0 auto 18px;
  width:76px;height:76px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#eaf1f8,#dbe9f6);
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(31,78,120,.08);
}
.uf-slide-cover-title{color:var(--accent-dark);font-size:1.5rem;margin:0 0 6px;}
.uf-slide-term{
  color:var(--accent-dark);
  font-weight:800;
  font-size:1.25rem;
  margin-bottom:10px;
  line-height:1.35;
}
.uf-slide-body{text-align:left;}
.uf-slide-body p{font-size:1.05rem;line-height:1.7;margin:0 auto;max-width:56ch;text-align:left;}
.uf-slide-body ul, .uf-slide-body ol{text-align:left;max-width:56ch;margin:0 auto;padding-left:1.3em;}
.uf-slide-body li{font-size:1.02rem;line-height:1.6;margin-bottom:6px;opacity:0;}
.uf-slide-body li.uf-anim-stagger{animation:uf-fade-up .4s ease forwards;}

@keyframes uf-fade-up{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

.uf-anim-in-right{animation:uf-slide-in-right .32s cubic-bezier(.2,.8,.3,1);}
.uf-anim-in-left{animation:uf-slide-in-left .32s cubic-bezier(.2,.8,.3,1);}
@keyframes uf-slide-in-right{from{opacity:0;transform:translateX(36px) scale(.98);}to{opacity:1;transform:translateX(0) scale(1);}}
@keyframes uf-slide-in-left{from{opacity:0;transform:translateX(-36px) scale(.98);}to{opacity:1;transform:translateX(0) scale(1);}}

.uf-present-nav{display:flex;justify-content:space-between;margin-top:18px;}
.uf-nav-btn{background:#fff;color:var(--ink);border:1px solid var(--border);padding:13px 24px;border-radius:10px;font-weight:700;font-size:0.95rem;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;}
.uf-nav-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.08);}
.uf-nav-btn:disabled{opacity:.35;cursor:default;}
.uf-nav-btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;border:none;}

@media (max-width:600px){
  .uf-slide{padding:26px 22px;min-height:180px;max-height:56vh;}
  .uf-slide-icon{width:60px;height:60px;font-size:2rem;}
  .uf-slide-term{font-size:1.1rem;}
  .uf-slide-body p, .uf-slide-body li{font-size:0.98rem;}
}
