:root{--ep-blue:#123a6f;--ep-blue-2:#1e5aa8;--ep-blue-3:#2868bd;--ep-gold:#c5a365;--ep-bg:#f5f8fc;--ep-border:#dfe8f4;--ep-text:#0d2d59;--ep-muted:#69788e}
.epmod-grid{display:grid;gap:28px}.epmod-module{font-family:Inter,"Segoe UI",Arial,sans-serif;width:min(1560px,calc(100vw - 44px));max-width:none;margin:24px 0 24px 50%;padding:0 22px;transform:translateX(-50%);color:var(--ep-text)}
.epmod-heading{margin:0 0 20px}.epmod-heading>span{display:inline-block;color:var(--ep-gold);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.epmod-heading h2{margin:7px 0 0;color:#0b2c58;font-size:30px;line-height:1.15}
.epmod-hero{min-height:220px;border-radius:22px;overflow:hidden;background-size:cover;background-position:center;position:relative;margin-bottom:22px;box-shadow:0 12px 34px rgba(18,58,111,.12)}.epmod-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,44,88,.9),rgba(18,58,111,.42))}.epmod-hero-copy{position:absolute;left:36px;right:36px;bottom:32px;color:#fff}.epmod-hero-copy span{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);padding:7px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em}.epmod-hero-copy h2{margin:10px 0 0;color:#fff;font-size:32px}
.epmod-resources{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:20px;background:#f7faff;border:1px solid #dce7f4;border-radius:18px;box-shadow:0 8px 26px rgba(18,58,111,.06);margin-bottom:26px}
.epmod-resource{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;min-height:255px;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);border:1px solid #dce6f2;border-top:4px solid #d8ba72;border-radius:16px;padding:17px 14px 12px;box-shadow:0 7px 18px rgba(18,58,111,.07);overflow:hidden}.epmod-pill{display:inline-flex;align-items:center;justify-content:center;background:#edf4fc;color:#173e70;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;margin-bottom:12px}.epmod-icon{width:48px;height:48px;display:grid;place-items:center;background:#fff;border:1px solid #e5ebf3;border-radius:14px;box-shadow:0 7px 16px rgba(18,58,111,.1);font-size:23px;margin-bottom:13px}.epmod-resource h3{margin:0 0 9px;color:#123a6f;font-size:16px;line-height:1.25}.epmod-resource p{margin:0 0 16px;color:#66758a;font-size:12px;line-height:1.5;flex:1}.epmod-resource-btn{width:100%;min-height:40px;border:0;border-radius:9px;background:linear-gradient(90deg,#164785,#2869bc);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:10px 12px;cursor:pointer;transition:.18s ease;box-shadow:0 6px 14px rgba(30,90,168,.18)}.epmod-resource-btn:hover{transform:translateY(-1px);filter:brightness(1.05);color:#fff!important}
.epmod-content{background:#fff;border:1px solid #e0e8f2;border-radius:18px;padding:34px 38px;box-shadow:0 10px 30px rgba(18,58,111,.06);color:#263b55;line-height:1.75;font-size:16px;overflow-wrap:anywhere}.epmod-content>:first-child{margin-top:0}.epmod-content>:last-child{margin-bottom:0}.epmod-content h1,.epmod-content h2,.epmod-content h3,.epmod-content h4,.epmod-content h5{color:#123a6f;line-height:1.25}.epmod-content h2{font-size:27px}.epmod-content h3{font-size:22px}.epmod-content h4{font-size:19px}.epmod-content img{max-width:100%;height:auto;border-radius:12px}.epmod-content iframe,.epmod-content video{max-width:100%}.epmod-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.epmod-content th,.epmod-content td{border:1px solid #dfe7f1;padding:9px 11px}.epmod-content blockquote{margin:20px 0;padding:14px 18px;border-left:4px solid var(--ep-gold);background:#f7faff;border-radius:0 10px 10px 0}.epmod-empty-content{color:#7a8798;text-align:center}
.epmod-modal{position:fixed;inset:0;background:rgba(5,24,48,.76);z-index:999999;display:none;padding:3vh 2vw;backdrop-filter:blur(3px)}.epmod-modal.is-open{display:block}.epmod-modal-shell{height:94vh;background:#eef3f9;border-radius:18px;overflow:hidden;box-shadow:0 25px 80px rgba(0,0,0,.35);display:flex;flex-direction:column}.epmod-modal-shell>header{background:linear-gradient(90deg,#123a6f,#1e5aa8);color:#fff;padding:13px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #c5a365}.epmod-modal-shell header span{display:block;color:#e3c477;font-size:10px;font-weight:800;letter-spacing:.08em}.epmod-modal-shell header strong{display:block;margin-top:3px}.epmod-modal-shell header>div:last-child{display:flex;gap:8px}.epmod-modal-shell header button,.epmod-modal-shell header a{border:0;background:rgba(255,255,255,.13);color:#fff;width:38px;height:38px;border-radius:9px;display:grid;place-items:center;text-decoration:none;cursor:pointer;font-size:20px}.epmod-frame-wrap{flex:1;background:#fff}.epmod-frame-wrap iframe{width:100%;height:100%;border:0}.epmod-pdf-overlay .ibratep-reader-header{background:linear-gradient(90deg,#123a6f,#1e5aa8)!important;border-bottom-color:#c5a365!important}.epmod-pdf-overlay .ibratep-brand-mark{background:#c5a365!important;color:#123a6f!important}.epmod-pdf-overlay .ibratep-nav-btn{background:#1e5aa8!important;border-color:#1e5aa8!important}.epmod-pdf-overlay .ibratep-reader-toolbar{border-top-color:#dbe5f1!important}body.epmod-lock{overflow:hidden}
@media(max-width:1180px){.epmod-resources{grid-template-columns:repeat(3,minmax(0,1fr))}.epmod-resource{min-height:235px}}
@media(max-width:900px){.epmod-resources{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.epmod-module{width:calc(100vw - 18px);margin:14px 0 14px 50%;padding:0 9px;transform:translateX(-50%).epmod-heading{padding:0 4px}.epmod-heading h2{font-size:25px}.epmod-hero{min-height:175px;border-radius:16px}.epmod-hero-copy{left:20px;right:20px;bottom:20px}.epmod-hero-copy h2{font-size:25px}.epmod-resources{grid-template-columns:1fr 1fr;gap:8px;padding:10px;border-radius:15px;margin-bottom:16px}.epmod-resource{min-height:218px;padding:12px 9px 9px;border-radius:13px}.epmod-pill{font-size:9px;padding:4px 7px;margin-bottom:9px}.epmod-icon{width:42px;height:42px;font-size:20px;margin-bottom:10px}.epmod-resource h3{font-size:14px}.epmod-resource p{font-size:10.5px;line-height:1.4;margin-bottom:10px}.epmod-resource-btn{font-size:10.5px;min-height:37px;padding:8px 6px}.epmod-content{padding:22px 17px;border-radius:15px;font-size:15px}.epmod-content h2{font-size:23px}.epmod-content h3{font-size:20px}.epmod-modal{padding:0}.epmod-modal-shell{height:100vh;border-radius:0}.epmod-modal-shell header strong{font-size:13px}}
@media(max-width:390px){.epmod-resources{grid-template-columns:1fr}.epmod-resource{min-height:auto}.epmod-resource p{font-size:11px}.epmod-resource-btn{font-size:11px}}

/* v1.2 – HTML completo isolado */
.epmod-html-content{padding:0!important;overflow:hidden;background:#fff}
.epmod-html-frame{display:block;width:100%;height:1200px;min-height:900px;border:0;background:#fff;border-radius:20px}
@media(max-width:767px){.epmod-html-frame{height:1100px;min-height:760px;border-radius:14px}}

/* v1.3.1 – card de PDF sempre visível + estado indisponível */
.epmod-resource.is-unavailable{opacity:.72}
.epmod-resource-btn.epmod-disabled{background:#aeb9c8!important;box-shadow:none!important;cursor:not-allowed;pointer-events:none}

/* Link público do curso / categoria */
.epmod-course-link{display:inline-flex;align-items:center;gap:6px;margin:0 10px 8px 0;padding:7px 11px;border:1px solid rgba(18,58,111,.16);border-radius:999px;background:#f3f7fc;color:#123A6F!important;text-decoration:none!important;font-size:10.5px;font-weight:800;line-height:1.2;transition:.2s}.epmod-course-link:hover{transform:translateY(-1px);border-color:#C5A365;background:#fff8e9}.epmod-course-link.on-hero{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.13);color:#fff!important}.epmod-course-link.on-hero:hover{background:rgba(255,255,255,.20)}


/* =========================================================
   v2.0.4 - Conteúdo HTML amplo e integrado ao módulo
========================================================= */
.epmod-content.epmod-html-content{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dce6f2!important;
  border-radius:20px!important;
  box-shadow:0 10px 30px rgba(18,58,111,.055)!important;
}
.epmod-content.epmod-html-content > iframe.epmod-html-frame,
iframe.epmod-html-frame{
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:1400px!important;
  min-height:1000px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
  .epmod-content.epmod-html-content > iframe.epmod-html-frame,
  iframe.epmod-html-frame{height:1250px!important;min-height:900px!important}
}
@media(max-width:640px){
  .epmod-content.epmod-html-content{border-radius:15px!important}
  .epmod-content.epmod-html-content > iframe.epmod-html-frame,
  iframe.epmod-html-frame{width:100%!important;min-width:100%!important;height:1150px!important;min-height:820px!important;border-radius:15px!important}
}

/* =========================================================
   v2.0.5 - HTML do módulo realmente em largura total
   ========================================================= */
.epmod-module{
  box-sizing:border-box!important;
}
.epmod-module .epmod-content.epmod-html-content{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  position:relative!important;
  background:#fff!important;
  border:1px solid #d9e4f0!important;
  border-radius:22px!important;
  box-shadow:0 14px 34px rgba(11,47,96,.07)!important;
}
.epmod-module .epmod-content.epmod-html-content iframe.epmod-html-frame{
  display:block!important;
  box-sizing:border-box!important;
  inline-size:100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  height:1000px;
  min-height:620px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:22px!important;
  background:#fff!important;
  overflow:hidden!important;
}
@media(max-width:640px){
  .epmod-module .epmod-content.epmod-html-content{border-radius:16px!important}
  .epmod-module .epmod-content.epmod-html-content iframe.epmod-html-frame{
    border-radius:16px!important;
    min-height:680px!important;
  }
}
