
/* Capacítate premium (raw CSS fallback) */
:root{--cap-red: #c1121f;--cap-red-deep:#9b0e18;--cap-ink:#0b0b0c;--cap-paper:#f4f0e8;--cap-gold:#f0c14b;--cap-muted:#5c5c66;}
body{background:var(--cap-paper)!important;color:var(--cap-ink);font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
h1,h2,h3,.cap-hero h1{font-family:"Fraunces",Georgia,serif;}
.navbar.fixed-top,.navbar{background:#0b0b0c!important;border-bottom:3px solid var(--cap-red)!important;}
.navbar .nav-link,.navbar .navbar-brand{color:#f4f0e8!important;}
.navbar .nav-link:hover{color:var(--cap-gold)!important;}
#page-site-index #block-region-side-pre,
#page-site-index #block-region-side-post{display:none!important;}
#page-site-index #region-main{max-width:100%!important;flex:0 0 100%!important;padding:0!important;}
#page-site-index .card{border:0;background:transparent;box-shadow:none;}
#page-site-index .card-body{padding:0!important;}
.cap-home{margin:0;}
.cap-hero{min-height:78vh;display:flex;align-items:center;background:linear-gradient(120deg,rgba(11,11,12,.94) 0%,rgba(176,0,0,.78) 55%,rgba(225,6,0,.6) 100%),radial-gradient(ellipse at 80% 20%,rgba(240,193,75,.35),transparent 55%),#0b0b0c;color:#fff;padding:4.5rem 1.5rem 4rem;position:relative;overflow:hidden;box-shadow:inset 0 -40px 80px rgba(0,0,0,.35);}
.cap-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border:18px solid rgba(240,193,75,.35);border-radius:50%;}
.cap-hero__inner{max-width:920px;margin:0 auto;position:relative;z-index:1;}
.cap-eyebrow{display:inline-block;background:rgba(240,193,75,.15);color:var(--cap-gold);border:1px solid rgba(240,193,75,.4);padding:.35rem .8rem;border-radius:999px;font-size:.85rem;margin-bottom:1rem;}
.cap-hero h1{font-size:clamp(2.8rem,7vw,4.4rem);margin:0 0 .6rem;color:#fff;letter-spacing:-.02em;text-shadow:0 8px 40px rgba(0,0,0,.45);}
.cap-lead{font-size:1.35rem;opacity:.95;max-width:38rem;line-height:1.55;}
.cap-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;}
.cap-btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.55rem;border-radius:999px;text-decoration:none!important;font-weight:600;border:2px solid transparent;transition:.15s ease;font-size:1.02rem;box-shadow:0 10px 30px rgba(0,0,0,.25);}
.cap-btn--primary{background:var(--cap-red);color:#fff!important;animation:capPulse 2.8s ease-in-out infinite;}
.cap-btn--primary:hover{background:var(--cap-red-deep);color:#fff!important;}
.cap-btn--ghost{border-color:rgba(255,255,255,.55);color:#fff!important;}
.cap-btn--ghost:hover{border-color:var(--cap-gold);color:var(--cap-gold)!important;}
.cap-btn--accent{background:var(--cap-gold);color:#0b0b0c!important;}
@keyframes capPulse{0%,100%{box-shadow:0 10px 30px rgba(225,6,0,.35)}50%{box-shadow:0 14px 40px rgba(240,193,75,.45)}}
.cap-section{padding:3.25rem 1.5rem;max-width:1100px;margin:0 auto;}
.cap-section--alt{background:#fff;max-width:none;padding-left:max(1.5rem,calc((100% - 1100px)/2));padding-right:max(1.5rem,calc((100% - 1100px)/2));}
.cap-section h2{font-size:2rem;margin:0 0 .35rem;color:var(--cap-ink);position:relative;display:inline-block;padding-bottom:.4rem;}
.cap-section h2::after{content:"";position:absolute;left:0;bottom:0;width:48%;height:4px;background:linear-gradient(90deg,var(--cap-red),var(--cap-gold));border-radius:4px;}
.cap-sub{color:var(--cap-muted);margin-bottom:1.75rem;}
.cap-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;}
.cap-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(11,11,12,.08);border:1px solid rgba(11,11,12,.06);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;}
.cap-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(11,11,12,.14);}
.cap-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#0b0b0c;transition:transform .4s ease;}
.cap-card:hover img{transform:scale(1.04);}
.cap-card__body{padding:1.1rem 1.2rem 1.35rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.cap-card__body h3{margin:0;font-size:1.2rem;}
.cap-card__body p{margin:0;color:var(--cap-muted);flex:1;}
.cap-card__body a{align-self:flex-start;}
.cap-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}
.cap-step{background:var(--cap-paper);border-radius:16px;padding:1.25rem;border-top:4px solid var(--cap-red);transition:transform .2s ease;}
.cap-step:hover{transform:translateY(-4px);border-top-color:var(--cap-gold);}
.cap-step span{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;background:#0b0b0c;color:var(--cap-gold);border-radius:50%;font-weight:700;margin-bottom:.6rem;}
.cap-step h3{margin:0 0 .35rem;font-size:1.05rem;}
.cap-step p{margin:0;color:var(--cap-muted);font-size:.95rem;}
.cap-benefits{list-style:none;padding:0;margin:0;display:grid;gap:.75rem;}
.cap-benefits li{background:#fff;border-left:5px solid var(--cap-red);padding:.9rem 1rem;border-radius:10px;box-shadow:0 4px 14px rgba(11,11,12,.05);}
.cap-verify{max-width:520px;}
.cap-verify label{font-weight:600;display:block;margin-bottom:.4rem;}
.cap-verify__row{display:flex;gap:.5rem;flex-wrap:wrap;}
.cap-verify input{flex:1;min-width:200px;border:1px solid #cfc9bc;border-radius:999px;padding:.7rem 1rem;background:#fff;}
.cap-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.cap-quotes blockquote{margin:0;background:#0b0b0c;color:#f4f0e8;padding:1.25rem 1.4rem;border-radius:16px;border-bottom:4px solid var(--cap-gold);font-size:1.05rem;}
.cap-note{color:var(--cap-muted);font-size:.85rem;margin-top:.75rem;}
.cap-footer{background:#0b0b0c;color:#f4f0e8;padding:2.5rem 1.5rem;margin-top:1rem;display:grid;gap:1rem;}
.cap-footer__brand strong{font-size:1.3rem;color:var(--cap-gold);font-family:"Fraunces",Georgia,serif;}
.cap-footer__links{display:flex;flex-wrap:wrap;gap:1rem;}
.cap-footer__links a{color:#f4f0e8;text-decoration:underline;text-underline-offset:3px;}
.cap-footer__links a:hover{color:var(--cap-gold);}
.cap-footer__legal{opacity:.7;font-size:.82rem;max-width:70ch;margin:0;}
#page-login-index{background:#0b0b0c!important;}
#page-login-index #region-main{background:transparent!important;}
#page-login-index .login-container,#page-login-index .loginform,#page-login-index .login-wrapper{background:#16161a!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;color:#f4f0e8!important;box-shadow:0 20px 50px rgba(0,0,0,.45)!important;}
#page-login-index h1.login-heading,#page-login-index .login-heading{color:var(--cap-gold)!important;font-family:"Fraunces",Georgia,serif;}
#page-login-index a{color:var(--cap-gold)!important;}
#page-login-index .btn-primary{background:var(--cap-red)!important;border-color:var(--cap-red)!important;}
.btn-primary{background:var(--cap-red)!important;border-color:var(--cap-red)!important;border-radius:999px!important;font-weight:600;}
.btn-primary:hover{background:var(--cap-red-deep)!important;border-color:var(--cap-red-deep)!important;}
@media (max-width:768px){.cap-hero{min-height:70vh;padding:3rem 1.1rem 2.75rem}.cap-cta .cap-btn{width:100%}}


/* === Full-bleed home + Moodle chrome fixes === */
#page-site-index #page.drawers,
#page-site-index #page,
#page-site-index #topofscroll,
#page-site-index #page-content,
#page-site-index .main-inner,
#page-site-index #region-main-box,
#page-site-index #region-main,
#page-site-index .secondary-navigation,
#page-site-index .header-maxwidth {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#page-site-index.limitedwidth #page.drawers .main-inner,
body.limitedwidth.pagelayout-frontpage #page.drawers .main-inner {
  max-width: none !important;
}
#page-site-index #cap-injected-home,
#page-site-index .cap-home {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
#page-site-index #page-header,
#page-site-index .secondary-navigation { display: none !important; }

/* Skip link: visually hidden unless focused (Boost sr-only) */
a.skip, a.skip-block, .skip-block, .skiplinks a,
a[href="#maincontent"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
a.skip:focus, a.skip-block:focus, .skiplinks a:focus,
a[href="#maincontent"]:focus {
  position: fixed !important;
  top: .5rem !important;
  left: .5rem !important;
  width: auto !important;
  height: auto !important;
  padding: .6rem 1rem !important;
  margin: 0 !important;
  clip: auto !important;
  overflow: visible !important;
  z-index: 100000 !important;
  background: #0b0b0c !important;
  color: #f0c14b !important;
  border-radius: 8px !important;
}

/* === Customcert verify page premium === */
#page-mod-customcert-verify_certificate #region-main,
.path-mod-customcert.pagelayout-standard #region-main {
  max-width: 820px;
  margin: 0 auto;
}
#page-mod-customcert-verify_certificate #page-header .page-header-headings h1,
#page-mod-customcert-verify_certificate h2 {
  font-family: "Fraunces", Georgia, serif;
}
.cap-verify-wrap { margin: 1.5rem 0 2.5rem; }
.cap-verify-card {
  background: #fff;
  border-radius: 20px;
  padding: 1.75rem 1.75rem 1.5rem;
  box-shadow: 0 16px 40px rgba(11,11,12,.1);
  border: 1px solid rgba(11,11,12,.06);
}
.cap-verify-card--ok { border-top: 6px solid #1b7f4e; }
.cap-verify-card--bad { border-top: 6px solid #9b0e18; }
.cap-verify-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  font-weight: 700; font-size: 1.15rem; margin-bottom: 1rem;
}
.cap-verify-badge--ok { color: #1b7f4e; }
.cap-verify-badge--bad { color: #9b0e18; }
.cap-verify-badge .cap-check {
  display: inline-flex; width: 2rem; height: 2rem; border-radius: 50%;
  align-items: center; justify-content: center; color: #fff; font-size: 1.1rem;
}
.cap-verify-badge--ok .cap-check { background: #1b7f4e; }
.cap-verify-badge--bad .cap-check { background: #9b0e18; }
.cap-verify-grid {
  display: grid; grid-template-columns: 160px 1fr; gap: .55rem 1rem;
  margin: 0; padding: 0;
}
.cap-verify-grid dt { color: #5c5c66; font-weight: 600; margin: 0; }
.cap-verify-grid dd { margin: 0; font-weight: 600; color: #0b0b0c; }
.cap-verify-formcard {
  background: #f4f0e8; border-radius: 16px; padding: 1.25rem 1.4rem; margin-bottom: 1.25rem;
  border: 1px solid rgba(11,11,12,.06);
}
.cap-verify-formcard label { font-weight: 700; }
.cap-verify-formcard input[type="text"] {
  border-radius: 999px !important; border: 1px solid #cfc9bc !important;
  padding: .65rem 1rem !important;
}
#page-mod-customcert-verify_certificate .btn-primary {
  background: #c1121f !important; border-color: #c1121f !important; border-radius: 999px !important;
}

/* CAP-VERIFY-START */
body#page-mod-customcert-verify_certificate #region-main,
body[id*="page-mod-customcert-verify"] #region-main {
  max-width: 720px;
  margin: 0 auto;
}
.cap-verify-formcard {
  background: #f7f1e8;
  border-radius: 16px;
  padding: 1.5rem 1.6rem 1.4rem;
  margin: 1rem 0 1.25rem;
  border: 1px solid rgba(12,12,14,.06);
}
.cap-verify-formcard h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  margin: 0 0 .35rem;
  color: #0b0b0c;
}
.cap-verify-help { color:#5c5c66; margin:0 0 1rem; }
.cap-verify-formcard input[type=text],
.cap-verify-formcard input[type=search] {
  border-radius: 10px !important;
  border: 1px solid rgba(12,12,14,.15) !important;
  padding: .55rem .75rem !important;
}
.cap-verify-formcard button,
.cap-verify-formcard input[type=submit] {
  background: #c1121f !important;
  border: none !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: .55rem 1.25rem !important;
  font-weight: 600 !important;
}
.cap-verify-card {
  border-radius: 14px;
  padding: 1.1rem 1.25rem;
  margin: 1rem 0 1.5rem;
  background: #fff;
  border: 1px solid rgba(12,12,14,.08);
  box-shadow: 0 8px 28px rgba(12,12,14,.06);
}
.cap-verify-card--ok { border-top: 4px solid #1f8f4e; }
.cap-verify-card--bad { border-top: 4px solid #c1121f; }
.cap-verify-badge { display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:1.15rem; }
.cap-verify-badge--ok { color:#1f8f4e; }
.cap-verify-badge--bad { color:#c1121f; }
.cap-check {
  display:inline-flex; align-items:center; justify-content:center;
  width:1.6rem; height:1.6rem; border-radius:50%;
  background: currentColor; color:#fff; font-size:.95rem; font-weight:700;
}
.cap-verify-badge--ok .cap-check { background:#1f8f4e; }
.cap-verify-badge--bad .cap-check { background:#c1121f; }
.cap-verify-note { margin:.55rem 0 0; color:#5c5c66; }
/* CAP-VERIFY-END */

/* CAP-HERO-FULLBLEED */
#page-site-index #page-header,
#page-site-index .navbar + #page {
  /* keep */
}
#page-site-index #cap-injected-home {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  position: relative;
  left: 0;
  right: 0;
}
#page-site-index #region-main,
#page-site-index #region-main-box,
#page-site-index .main-inner,
#page-site-index #page-content {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#page-site-index #region-main > .card,
#page-site-index #region-main .card {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#page-site-index #region-main .card-body {
  padding: 0 !important;
}
/* hide empty moodle frontpage leftovers that create beige gutters */
#page-site-index .frontpage-course-list-all,
#page-site-index .frontpage-course-list-enrolled,
#page-site-index .editing_update,
#page-site-index .box.py-3.message {
  /* keep courses if injected home doesn't include them - our home injects courses */
}
#page-site-index #cap-injected-home + *,
#page-site-index .sitetopic {
  /* if inject replaces content, fine */
}

/* CAP-BRAND-2026 */
:root {
  --cap-red: #c1121f;
  --cap-ink: #0b0b0c;
  --cap-cream: #f7f1e8;
  --cap-gold: #a07832;
}
.navbar, .navbar.fixed-top, nav.navbar {
  background: #0b0b0c !important;
  border-bottom: 2px solid var(--cap-red) !important;
}
.navbar .navbar-brand, .navbar .brand, .navbar a.navbar-brand {
  color: #fff !important;
  font-weight: 600;
}
.navbar .navbar-brand img, .navbar .logo img, .navbar img.logo {
  max-height: 42px !important;
  width: auto !important;
}
/* Force custom navbar logo via CSS content replacement if Moodle logo not yet set */
.navbar .navbar-brand {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
}
.cap-nav-logo {
  height: 40px;
  width: auto;
  display: inline-block;
}
.cap-hero {
  background: linear-gradient(145deg, #1a0508 0%, #c1121f 55%, #7a0b14 100%) !important;
}
.cap-hero__logo {
  display: block;
  margin: 0 auto 1.1rem;
  max-width: min(420px, 88vw);
  height: auto;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,.25));
}
.cap-eyebrow {
  color: #f0d9a0 !important;
  letter-spacing: .04em;
}
.cap-btn--primary { background: var(--cap-red) !important; }
.cap-btn--accent { background: #f0d9a0 !important; color: #0b0b0c !important; }
.cap-card__top {
  background: linear-gradient(140deg, #0b0b0c, #5c0a12) !important;
}
.cap-card__seal {
  width: 48px; height: 48px; border-radius: 50%;
  background: #fff; object-fit: contain; padding: 2px;
}
.cap-footer {
  background: #0b0b0c !important;
  color: #f3f3f5;
}
.cap-footer__brand img {
  max-width: 260px;
  height: auto;
  margin-bottom: .6rem;
}
.cap-footer__aff { display:block; color:#c9c9d0; font-size:.9rem; margin-top:.2rem; }
/* Login page logo */
#page-login-index .login-logo img,
#page-login-index .logo img {
  max-width: 320px !important;
  height: auto !important;
}
#page-login-index .login-container {
  border-top: 4px solid var(--cap-red);
}

/* CAP-BRAND-END */


/* CAP-HOME-SCOPE */
#cap-home-wrap, #cap-injected-home { display: none !important; }
body#page-site-index #cap-home-wrap,
body#page-site-index #cap-injected-home { display: block !important; }
body#page-site-index #region-main .course-content,
body#page-site-index #region-main .sitetopic,
body#page-site-index #frontpage-available-course-list,
body#page-site-index #frontpage-course-list,
body#page-site-index .frontpage-course-list-all {
  display: none !important;
}

/* CAP-FIX-CARDS-VERIFY-LOGIN */
.cap-card{text-decoration:none!important;color:inherit!important;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(11,11,12,.08);border:1px solid rgba(11,11,12,.06);display:flex;flex-direction:column;}
.cap-card__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#1a1a1e;}
.cap-card__media img{width:100%;height:100%;object-fit:cover;display:block;transform:none!important;}
.cap-card:hover .cap-card__media img{transform:scale(1.03)!important;transition:transform .35s ease;}
.cap-card__media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(transparent,rgba(11,11,12,.35));pointer-events:none;}
.cap-card__top{display:none!important;} /* kill old broken overlay layout */
.cap-card__body{padding:1.15rem 1.25rem 1.4rem;}
.cap-card__body h3,.cap-card__body h4{margin:0 0 .4rem;font-size:1.2rem;color:#0b0b0c;font-family:"Fraunces",Georgia,serif;}
.cap-card__body p{margin:0;color:#5c5c66;line-height:1.45;}
.cap-card__meta{display:block;margin-top:.7rem;font-size:.82rem;color:#8a8a94;}
/* hide seal-in-card leftovers */
.cap-card__seal{display:none!important;}

/* Verify page layout */
body[id*="page-mod-customcert-verify"] #region-main,
body#page-mod-customcert-verify_certificate #region-main{
  max-width:780px!important;margin:0 auto!important;
}
body[id*="page-mod-customcert-verify"] #region-main > .card,
body[id*="page-mod-customcert-verify"] #region-main .card{
  max-width:100%!important;width:100%!important;
}
.cap-verify-formcard{width:100%;box-sizing:border-box;}
.cap-verify-card{width:100%;box-sizing:border-box;margin-left:0;margin-right:0;}
/* hide native Moodle verified/not-verified leftovers under our badge */
body[id*="page-mod-customcert-verify"] .cap-verify-card + .alert,
body[id*="page-mod-customcert-verify"] .notifysuccess,
body[id*="page-mod-customcert-verify"] .notifyproblem,
body[id*="page-mod-customcert-verify"] .alert-success,
body[id*="page-mod-customcert-verify"] .alert-danger,
body[id*="page-mod-customcert-verify"] .alert-secondary,
body[id*="page-mod-customcert-verify"] h3:not(.cap-verify-formcard h2),
.cap-hide-native-verify{display:none!important;}

/* Login palette + hide guest */
#page-login-index h1.login-heading,
#page-login-index .login-heading,
#page-login-index h1,
#page-login-index h2{color:#fff!important;}
#page-login-index a{color:#ffb3b8!important;}
#page-login-index a:hover{color:#fff!important;}
#page-login-index .login-divider,
#page-login-index .login-divider-text,
#page-login-index .potentialidps,
#page-login-index .login-form-forgotpassword + *,
#page-login-index .login-guest,
#page-login-index .login-form .login-form-guestbtn,
#page-login-index .btn[type="submit"][name="guestlogin"],
#page-login-index form#guestlogin,
#page-login-index .loginform .login-divider,
#page-login-index .login-identityproviders{display:none!important;}
/* hide guest block by common Moodle 4.1 structure */
#page-login-index .login-container .login-divider,
#page-login-index .login-container > div:nth-child(n+2) .login-form-submit:not(:first-of-type){ }
#page-login-index .cap-login-logo{display:block;margin:0 auto 1.25rem;max-width:min(320px,80vw);height:auto;}

