/* ===== Capacítate LIGHT UI — white/cream + red #c1121f ===== */
:root{
  --cap-red:#c1121f;
  --cap-red-deep:#9b0e18;
  --cap-ink:#1a1a1e;
  --cap-muted:#5c5c66;
  --cap-cream:#f7f3ec;
  --cap-paper:#ffffff;
  --cap-line:rgba(26,26,30,.10);
  --cap-nav-h:60px;
  --cap-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

html,body{
  background:var(--cap-cream)!important;
  color:var(--cap-ink)!important;
  font-family:var(--cap-sans)!important;
}
#page,#page-wrapper,#topofscroll,#page-content,.main-inner{background:transparent!important;}
#page-wrapper{background:var(--cap-cream)!important;}

/* ===== WHITE NAVBAR — always on top ===== */
.navbar,
.navbar.fixed-top,
nav.navbar,
.navbar.bg-dark,
.navbar-dark,
.navbar.navbar-light{
  background:#ffffff!important;
  border-bottom:3px solid var(--cap-red)!important;
  box-shadow:0 2px 10px rgba(0,0,0,.07)!important;
  z-index:1100!important;
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  min-height:var(--cap-nav-h)!important;
}
.navbar .nav-link,
.navbar .navbar-brand,
.navbar .dropdown-toggle,
.navbar .usermenu .login,
.navbar a,
.navbar .btn,
.navbar .login,
.navbar .icon{
  color:var(--cap-ink)!important;
}
.navbar .nav-link:hover,
.navbar a:hover{color:var(--cap-red)!important;}
.navbar .nav-link.active,
.navbar .nav-link[aria-current="true"]{
  color:var(--cap-red)!important;
  box-shadow:inset 0 -2px 0 var(--cap-red);
}
.navbar .navbar-toggler,
.navbar button.navbar-toggler{
  color:var(--cap-ink)!important;
  border-color:var(--cap-line)!important;
  background:transparent!important;
}

/* Show brand on mobile (override d-none d-md-flex) */
.navbar .navbar-brand,
.navbar a.navbar-brand,
.navbar .navbar-brand.d-none,
.navbar .navbar-brand.d-none.d-md-flex,
.navbar .navbar-brand.d-md-flex{
  display:flex!important;
  align-items:center!important;
  visibility:visible!important;
  opacity:1!important;
}
.cap-nav-logo,
.navbar .navbar-brand img,
.navbar img.logo,
.navbar .logo img{
  max-height:48px!important;
  width:auto!important;
  height:auto!important;
  max-width:min(220px,58vw)!important;
  background:transparent!important;
  object-fit:contain!important;
}
@media (max-width:575.98px){
  .cap-nav-logo,
  .navbar .navbar-brand img{
    max-height:40px!important;
    max-width:min(200px,55vw)!important;
  }
}

/* Home below fixed navbar */
body#page-site-index #cap-home-wrap{
  display:block!important;
  padding-top:var(--cap-nav-h)!important;
  margin-top:0!important;
  box-sizing:border-box;
}
body#page-site-index #cap-injected-home{
  display:block!important;
  padding-top:0!important;
  margin-top:0!important;
}
body#page-site-index #page.drawers,
body#page-site-index #page{
  padding-top:0!important;
  margin-top:0!important;
}

/* Hero */
.cap-hero{
  background:linear-gradient(145deg,#c1121f 0%,#9b0e18 55%,#6e0a12 100%)!important;
  color:#fff!important;
  min-height:auto!important;
  padding:2.75rem 1.25rem 2.75rem!important;
  margin:0!important;
  position:relative!important;
  z-index:1!important;
}
.cap-hero__logo{display:none!important;}
.cap-hero__seal{
  display:block;
  margin:0 auto 1rem;
  width:88px;
  height:88px;
  background:#fff;
  border-radius:50%;
  padding:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
  object-fit:contain;
}
.cap-eyebrow{
  background:rgba(255,255,255,.15)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.35)!important;
}
.cap-hero h1{
  color:#fff!important;
  text-shadow:none!important;
  font-family:var(--cap-sans)!important;
  font-weight:800!important;
  font-size:clamp(1.85rem,6vw,3rem)!important;
  letter-spacing:-.02em;
}
.cap-lead{color:rgba(255,255,255,.95)!important;}
.cap-btn--primary{
  background:#fff!important;
  color:var(--cap-red)!important;
  border:2px solid #fff!important;
}
.cap-btn--primary:hover{
  background:#ffe8ea!important;
  color:var(--cap-red-deep)!important;
}
.cap-btn--ghost{
  border:2px solid #fff!important;
  color:#fff!important;
  background:transparent!important;
}
.cap-btn--ghost:hover{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
.cap-btn--accent,
a.cap-btn.cap-btn--accent{
  background:transparent!important;
  color:#fff!important;
  border:2px solid #fff!important;
  box-shadow:none!important;
}
.cap-btn--accent:hover{
  background:#fff!important;
  color:var(--cap-red)!important;
}

/* Course cards */
.cap-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.25rem;
}
.cap-card{
  background:#fff!important;
  border-radius:16px!important;
  overflow:hidden!important;
  box-shadow:0 8px 24px rgba(0,0,0,.07)!important;
  border:1px solid var(--cap-line)!important;
  text-decoration:none!important;
  color:inherit!important;
  display:flex!important;
  flex-direction:column!important;
}
.cap-card *{text-decoration:none!important;}
.cap-card__media{
  aspect-ratio:16/9;
  overflow:hidden;
  background:#eee;
  position:relative;
}
.cap-card__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transform:none!important;
}
.cap-card__media::after{display:none!important;}
.cap-card__top,.cap-card__seal{display:none!important;}
.cap-card__body{padding:1.1rem 1.2rem 1.35rem;}
.cap-card__body h3{
  margin:0 0 .4rem;
  font-size:1.15rem;
  color:var(--cap-ink);
  font-family:var(--cap-sans)!important;
  font-weight:700;
  text-decoration:none!important;
  border:0!important;
}
.cap-card__body p{
  margin:0;
  color:var(--cap-muted);
  line-height:1.45;
  text-decoration:none!important;
}
.cap-card__meta{
  display:block;
  margin-top:.65rem;
  font-size:.8rem;
  color:#8a8a94;
}

/* Sections */
.cap-section{
  padding:2.75rem 1.25rem;
  max-width:1100px;
  margin:0 auto;
}
.cap-section h2{
  color:var(--cap-ink)!important;
  font-family:var(--cap-sans)!important;
  font-weight:800!important;
}
.cap-section--alt{background:#fff;}
.cap-step{background:#fff;border-top:3px solid var(--cap-red);}
.cap-step span{background:var(--cap-ink)!important;color:#fff!important;}
.cap-benefits li{background:#fff;border-left:4px solid var(--cap-red);}
.cap-footer{
  background:#2f2f33!important;
  color:#f4f0e8!important;
  padding:2rem 1.25rem;
}
.cap-footer__brand strong{color:#fff!important;}
.cap-footer a{color:#ffd0d3!important;}

/* ===== LOGIN: one card on cream ===== */
#page-login-index,
#page-login-index #page,
#page-login-index #page-wrapper,
#page-login-index #page-content,
#page-login-index .main-inner,
#page-login-index #region-main,
#page-login-index #region-main-box{
  background:var(--cap-cream)!important;
}
#page-login-index #page.drawers,
#page-login-index #page{
  padding-top:calc(var(--cap-nav-h) + .5rem)!important;
}
#page-login-index .login-wrapper,
#page-login-index .login-container,
#page-login-index [role="main"]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:1rem .75rem 2rem!important;
}
#page-login-index .login-wrapper{min-height:auto!important;}
#page-login-index .loginform{
  background:#fff!important;
  color:var(--cap-ink)!important;
  border:1px solid var(--cap-line)!important;
  border-top:4px solid var(--cap-red)!important;
  border-radius:18px!important;
  box-shadow:0 14px 36px rgba(0,0,0,.08)!important;
  max-width:400px!important;
  width:100%!important;
  margin:0 auto!important;
  padding:1.5rem 1.35rem 1.6rem!important;
  box-sizing:border-box!important;
}
#page-login-index .card,
#page-login-index .card-body{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
#page-login-index h1.login-heading,
#page-login-index .loginform > h1{
  color:var(--cap-ink)!important;
  font-size:1.45rem!important;
  font-weight:800!important;
  font-family:var(--cap-sans)!important;
  text-align:center!important;
  margin:0 0 1.1rem!important;
  letter-spacing:-.01em;
}
#page-login-index h2.login-heading,
#page-login-index .loginform > h2,
#page-login-index #guestlogin,
#page-login-index form#guestlogin,
#page-login-index .login-divider,
#page-login-index .login-divider-text,
#page-login-index .potentialidps,
#page-login-index .login-identityproviders,
#page-login-index .login-form-guestbtn,
#page-login-index .btn-secondary,
#page-login-index button[name="guestlogin"],
#page-login-index a[href*="cookies"],
#page-login-index .btn[href*="cookies"]{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
}
#page-login-index a{color:var(--cap-red)!important;}
#page-login-index .btn-primary,
#page-login-index button[type=submit],
#page-login-index input[type=submit],
#page-login-index #loginbtn{
  background:var(--cap-red)!important;
  border-color:var(--cap-red)!important;
  color:#fff!important;
  border-radius:999px!important;
  font-weight:700!important;
  width:100%!important;
  font-family:var(--cap-sans)!important;
}
#page-login-index .form-control,
#page-login-index input[type=text],
#page-login-index input[type=password]{
  border-radius:12px!important;
  border:1px solid #d5d0c8!important;
  background:#fff!important;
  color:var(--cap-ink)!important;
  font-family:var(--cap-sans)!important;
}
.cap-login-logo,
#page-login-index .cap-login-logo{
  display:block!important;
  margin:0 auto 1rem!important;
  max-width:min(300px,88vw)!important;
  width:100%!important;
  height:auto!important;
  background:transparent!important;
}
#page-login-index #page-footer,
#page-login-index .footer-content-popover,
#page-login-index footer{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--cap-muted)!important;
  font-size:.85rem!important;
}
#page-login-index #page-footer a{color:var(--cap-red)!important;}

/* Course / lesson readability */
body.path-course,
body.path-mod,
#page-course-view-topics,
#page-mod-page-view{
  background:var(--cap-cream)!important;
  color:var(--cap-ink)!important;
}
.path-course #region-main,
.path-mod #region-main,
#page-mod-page-view #region-main{
  background:#fff!important;
  color:var(--cap-ink)!important;
  border-radius:12px;
  padding:1rem 1.1rem!important;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
}
.path-course .activity-item,
.path-course .section .content{
  background:transparent!important;
  color:var(--cap-ink)!important;
}
.path-course a:not(.courseindex a):not(.courseindex-item a):not(.courseindex-link),
.path-mod a:not(.courseindex a):not(.courseindex-item a):not(.courseindex-link){
  color:var(--cap-red)!important;
}

/* Course index drawer — readable active / hover / visited */
#courseindex .courseindex-item a,
#courseindex a.courseindex-link,
.courseindex .courseindex-item a,
.courseindex a.courseindex-link,
.courseindex-item .courseindex-link{
  color:var(--cap-ink)!important;
  text-decoration:none!important;
  background:transparent!important;
}
#courseindex .courseindex-item:hover,
#courseindex .courseindex-item:hover a,
.courseindex .courseindex-item:hover,
.courseindex .courseindex-item:hover a,
.courseindex-item:hover .courseindex-link{
  background:#ffe8ea!important;
  color:var(--cap-red-deep)!important;
}
/* Active / current page item: white text on red pill */
#courseindex .courseindex-item.pageitem,
#courseindex .courseindex-item.active,
#courseindex .courseindex-item[aria-current="true"],
.courseindex .courseindex-item.pageitem,
.courseindex .courseindex-item.active,
.courseindex-item.pageitem{
  background:var(--cap-red)!important;
  color:#fff!important;
  border-radius:8px!important;
}
#courseindex .courseindex-item.pageitem a,
#courseindex .courseindex-item.pageitem .courseindex-link,
#courseindex .courseindex-item.active a,
#courseindex .courseindex-item.active .courseindex-link,
.courseindex .courseindex-item.pageitem a,
.courseindex .courseindex-item.pageitem .courseindex-link,
.courseindex-item.pageitem a,
.courseindex-item.pageitem .courseindex-link,
.courseindex-item.pageitem span,
.courseindex-item.pageitem .courseindex-title{
  color:#fff!important;
  background:transparent!important;
}
#courseindex .courseindex-item.pageitem:hover,
#courseindex .courseindex-item.pageitem:hover a,
.courseindex-item.pageitem:hover,
.courseindex-item.pageitem:hover a{
  background:var(--cap-red-deep)!important;
  color:#fff!important;
}
/* visited links in index stay readable */
#courseindex a:visited,
.courseindex a:visited{
  color:var(--cap-ink)!important;
}
#courseindex .courseindex-item.pageitem a:visited,
.courseindex-item.pageitem a:visited{
  color:#fff!important;
}
/* section titles */
.courseindex-section-title,
.courseindex-section-title a{
  color:var(--cap-ink)!important;
  font-weight:700!important;
}

body[id*="page-mod-customcert-verify"] #region-main{
  max-width:780px!important;
  margin:0 auto!important;
}
.cap-verify-formcard{
  background:#fff!important;
  border:1px solid var(--cap-line);
  width:100%;
  box-sizing:border-box;
}
.cap-hide-native-verify{display:none!important;}

@media (max-width:480px){
  .cap-hero{padding:2.25rem 1rem 2.1rem!important;}
  .cap-card__body h3{font-size:1.08rem;}
  #page-login-index .loginform{padding:1.25rem 1.1rem 1.4rem!important;}
}

/* ===== Mensaje de bienvenida ===== */
.cap-bienvenida{
  max-width:1100px;
  margin:0 auto;
  padding:2.75rem 1.25rem;
  background:#fff;
}
.cap-bienvenida h2{
  color:var(--cap-ink)!important;
  font-family:var(--cap-sans)!important;
  font-weight:800!important;
  margin:0 0 1.5rem;
  text-align:center;
}
.cap-bienvenida__grid{
  display:grid;
  grid-template-columns:minmax(200px,280px) 1fr;
  gap:2rem;
  align-items:start;
}
.cap-bienvenida__photo{
  margin:0;
  text-align:center;
}
.cap-bienvenida__photo img{
  width:100%;
  height:auto;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(0,0,0,.10);
  border:1px solid var(--cap-line);
  object-fit:cover;
  display:block;
}
.cap-bienvenida__photo figcaption{
  margin-top:.75rem;
  font-size:.88rem;
  color:var(--cap-muted);
  line-height:1.35;
}
.cap-bienvenida__body{
  color:var(--cap-ink);
  font-size:1.05rem;
  line-height:1.65;
}
.cap-bienvenida__body p{margin:0 0 1rem;}
.cap-bienvenida__firma{
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid var(--cap-line);
}
.cap-bienvenida__firma img{
  display:block;
  max-width:200px;
  width:auto;
  max-height:80px;
  height:auto;
  margin:0 0 .4rem;
  object-fit:contain;
}
.cap-bienvenida__nombre{
  margin:0!important;
  font-size:1rem;
  color:var(--cap-ink);
}
.cap-bienvenida__cargo{
  margin:.15rem 0 0!important;
  font-size:.92rem;
  color:var(--cap-muted);
}
@media (max-width:767.98px){
  .cap-bienvenida__grid{
    grid-template-columns:1fr;
    gap:1.25rem;
  }
  .cap-bienvenida__photo img{max-width:280px;margin:0 auto;}
}

/* Short welcome (course pages) */
.cap-bienvenida-short{
  display:flex;
  gap:1.1rem;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--cap-line);
  border-left:4px solid var(--cap-red);
  border-radius:12px;
  padding:1rem 1.1rem;
  margin:1rem 0 1.25rem;
}
.cap-bienvenida-short__photo{flex:0 0 96px;margin:0;}
.cap-bienvenida-short__photo img{
  width:96px;height:120px;object-fit:cover;border-radius:10px;display:block;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.cap-bienvenida-short__body{flex:1;min-width:0;}
.cap-bienvenida-short__body h3{
  margin:0 0 .5rem;font-size:1.1rem;color:var(--cap-ink);font-weight:700;
}
.cap-bienvenida-short__body p{margin:0 0 .65rem;color:var(--cap-ink);line-height:1.5;font-size:.98rem;}
.cap-bienvenida-short__meta{margin:0!important;color:var(--cap-muted)!important;font-size:.9rem;}
@media (max-width:480px){
  .cap-bienvenida-short{flex-direction:column;align-items:center;text-align:center;}
  .cap-bienvenida-short__photo{flex-basis:auto;}
}

/* Hide Moodle public chrome */
.footer-section a[href*="moodle.org"],
.footer-section a[href*="moodle.com"],
a[href*="download.moodle.org"],
a[href*="docs.moodle.org"],
.footer-support-link,
.tool_mobile-footer,
[data-region="mobile-footer"],
.mobilefooter,
#page-footer .footer-section:has(a[href*="moodle.com"]),
#page-footer .tool_dataprivacy + .footer-section,
.purgecaches,
.footnote a[href*="moodle"]{
  /* structural hides applied via JS too */
}
