/* IMEP Certificaciones 1.0.0 — estilos propios, prefijo imep-cert (sin colisiones). */

/* ---- Integración página Certificaciones (ID 9983, plantilla default del theme):
   el theme mete su banner .page-header (no existe en el prototipo) y encajona
   el contenido en .container. Esto lo corrige SOLO en esta página ---- */
body.page-id-9983{overflow-x:clip}
body.page-id-9983 .page-header{display:none}
body.page-id-9983 .tp-page-area{padding-top:0;padding-bottom:0}
body.page-id-9983 .imep-cert-hero,
body.page-id-9983 .imep-cert-sec--gris,
body.page-id-9983 .imep-cierre{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.imep-cert-hero{background:radial-gradient(820px 520px at 86% -10%,rgba(43,49,127,.13),transparent 62%),radial-gradient(560px 420px at 10% 108%,rgba(43,49,127,.07),transparent 64%),linear-gradient(166deg,#FCFCFE,#F5F6FB 58%,#ECEDF7);padding:60px 0 50px}
.imep-cert-hero h1{font-family:Montserrat,system-ui,sans-serif;font-weight:300;color:#1A1E3C;font-size:clamp(2.1rem,4.6vw,3rem);line-height:1.1;letter-spacing:-.022em;margin:0 0 16px}
.imep-cert-hero p{color:#2B317F;font-weight:500;max-width:62ch;margin:0}
.imep-cert-miga{font-size:.86rem;color:#767C90;margin-bottom:14px}
.imep-cert-miga a{color:#2B317F;font-weight:600}
.imep-cert-eyebrow{font-family:Montserrat,system-ui,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#2B317F;display:block;margin-bottom:10px}
.imep-cert-sec{padding:92px 0}
.imep-cert-sec--gris{background:#F4F5F9}
.imep-cert-wrap{max-width:1300px;margin:0 auto;padding:0 24px}
.imep-cert-sec--full .imep-cert-wrap{max-width:100%}
.imep-cert-head{max-width:660px;margin-bottom:var(--imep-hmb,44px)}
.imep-cert-head h2{font-family:Montserrat,system-ui,sans-serif;font-weight:300;color:#1A1E3C;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.022em;margin:0 0 10px}
.imep-cert-head p{color:#767C90;margin:0}
/* Recibes v2 — estructura anti-recorte: el marco recorta solo la foto; las
   insignias son hermanas del marco dentro de una zona con overflow visible. */
.imep-r2-sec{padding:92px 0;overflow:visible}
.imep-r2-wrap{max-width:1300px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;overflow:visible}
.imep-r2-img{position:relative;overflow:visible;min-width:0}
.imep-r2-frame{border-radius:14px;overflow:hidden;background:#F5F6FB;border:1px solid #E2E4EF;box-shadow:0 24px 60px rgba(26,30,60,.22);aspect-ratio:4/3}
.imep-r2-frame img{width:100%;height:100%;object-fit:cover;display:block}
.imep-r2-ph{aspect-ratio:4/3;display:grid;place-items:center;font-size:4rem}
.imep-r2-float{position:absolute;z-index:5;background:#fff;border-radius:12px;padding:14px 18px;box-shadow:0 14px 34px rgba(26,30,60,.18);display:flex;align-items:center;gap:13px;overflow:visible;text-decoration:none;animation:imep-r2-flotar var(--imep-r2-dur,5s) ease-in-out infinite}
.imep-r2-float:hover{text-decoration:none}
.imep-r2-fico{flex:none;width:42px;height:42px;border-radius:50%;background:#ECEDF7;display:grid;place-items:center;overflow:hidden}
.imep-r2-fico svg{stroke:#2B317F;fill:none;stroke-width:1.9}
.imep-r2-fico img{width:24px;height:24px;object-fit:contain}
.imep-r2-float b{display:block;font-size:1.05rem;font-weight:600;color:#1A1E3C;line-height:1.2;white-space:nowrap}
.imep-r2-float small{display:block;font-size:.76rem;color:#767C90;margin-top:3px;white-space:nowrap}
.imep-r2-float--a{left:-22px;top:30px}
.imep-r2-float--b{right:-16px;bottom:22px;animation-delay:calc(var(--imep-r2-dur,5s)/-2)}
@keyframes imep-r2-flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--imep-r2-dist,-9px))}}
@media (prefers-reduced-motion:reduce){.imep-r2-float{animation:none}}
@media (max-width:767px){.imep-r2-wrap{grid-template-columns:1fr;gap:40px;padding:0 24px}.imep-r2-float--a{left:8px}.imep-r2-float--b{right:8px}}
.imep-cert-check{list-style:none;display:grid;gap:16px;margin:22px 0 0;padding:0}
.imep-cert-check li{position:relative;padding-left:34px;font-size:.97rem;color:#767C90;line-height:1.6}
.imep-cert-check li b{color:#1A1E3C;font-weight:600}
.imep-cert-check li::before{content:'';position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:#ECEDF7}
.imep-cert-check li::after{content:'';position:absolute;left:7px;top:10px;width:8px;height:4px;border-left:2px solid #2B317F;border-bottom:2px solid #2B317F;transform:rotate(-45deg)}
.imep-cert-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;padding:18px 38px;border-radius:100px;background:#F19001;border:2px solid #F19001;color:#fff;margin-top:26px}
.imep-cert-btn:hover{background:#D27E00;border-color:#D27E00;color:#fff}
/* Instituciones que certifican */
.imep-cert-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.imep-cert-card{background:#fff;border:1px solid #E2E4EF;border-radius:10px;padding:28px;display:flex;flex-direction:column}
.imep-cert-logo{height:74px;display:flex;align-items:center;margin-bottom:18px}
.imep-cert-logo img{max-height:64px;max-width:170px;width:auto;object-fit:contain}
.imep-cert-sigla{display:none;font-size:1.5rem;color:#5B61AE;background:#ECEDF7;border-radius:10px;padding:14px 18px;letter-spacing:.05em}
.imep-cert-logo.sin-logo img{display:none}
.imep-cert-logo.sin-logo .imep-cert-sigla{display:inline-block}
.imep-cert-card h3{font-size:1.12rem;margin:0 0 8px;line-height:1.3;color:#1A1E3C;font-weight:600}
.imep-cert-tipo{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#ECEDF7;color:#2B317F;padding:5px 11px;border-radius:20px;margin-bottom:12px}
.imep-cert-tipo--otro{background:#FFF1DE;color:#8A5200}
.imep-cert-desc{font-size:.9rem;color:#767C90;margin-bottom:18px;line-height:1.55}
.imep-cert-rot{font-size:.8rem;font-weight:700;color:#1A1E3C;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.imep-cert-plist{list-style:none;display:grid;gap:9px;margin:0 0 20px;padding:0;flex:1}
.imep-cert-plist li{font-size:.93rem;line-height:1.45;padding-left:16px;position:relative;color:#4E5468}
.imep-cert-plist li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:#F19001}
.imep-cert-plist a{color:#4E5468}
.imep-cert-plist a:hover{color:#2B317F}
.imep-cert-link{font-weight:700;font-size:.9rem;color:#2B317F;border-bottom:2px solid #F19001;padding-bottom:2px;align-self:flex-start}
/* Validez 3 col */
.imep-cert-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.imep-cert-vbox{width:64px;height:64px;border-radius:14px;background:#ECEDF7;display:grid;place-items:center;margin-bottom:18px;color:#2B317F}
.imep-cert-vbox svg.imep-cert-vsvg{stroke:currentColor;fill:none;stroke-width:1.7}
.imep-cert-vbox svg.e-font-icon-svg{fill:currentColor;stroke:none}
.imep-cert-vbox i{font-size:30px;line-height:1}
.imep-cert-vbox img{width:30px;height:30px;object-fit:contain}
.imep-cert-vt{font-size:1.22rem;margin:0 0 10px;color:#1A1E3C}
.imep-cert-vd{color:#767C90;font-size:.97rem;margin:0}
/* Acompañan: carrusel de una fila (flechas + puntos + autoplay) */
.imep-cert-ahead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.imep-cert-ahead .imep-cert-head{margin-bottom:0;flex:1;min-width:0}
.imep-cert-ahead h2{font-family:Montserrat,system-ui,sans-serif;font-weight:300;color:#1A1E3C;font-size:clamp(1.8rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.022em;margin:0 0 10px}
.imep-cert-asub{color:#767C90;margin:0}
.imep-cert-anav{display:flex;gap:10px;flex:none}
.imep-cert-anav button{width:48px;height:48px;border-radius:50%;border:1.5px solid #E2E4EF;background:#fff;color:#2B317F;cursor:pointer;display:grid;place-items:center;transition:all .25s}
.imep-cert-anav button:hover:not(:disabled){background:#2B317F;border-color:#2B317F;color:#fff}
.imep-cert-anav button:disabled{opacity:.3;cursor:default}
.imep-cert-atrack{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 24px 18px;margin:0 -24px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.imep-cert-atrack::-webkit-scrollbar{display:none}
.imep-cert-atrack:focus-visible{outline:3px solid #F19001;outline-offset:-3px}
.imep-cert-acard{scroll-snap-align:start;flex:none;width:330px;background:#fff;border:1px solid #E2E4EF;border-radius:10px;padding:26px;display:flex;flex-direction:column}
.imep-cert-aname{font-size:1.1rem;margin:0 0 4px;line-height:1.3;color:#1A1E3C;font-weight:600}
.imep-cert-apais{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5B61AE;display:block;margin-bottom:14px}
.imep-cert-adesc{font-size:.92rem;color:#767C90;flex:1;margin:0 0 16px;line-height:1.55}
.imep-cert-alink{font-weight:700;font-size:.9rem;color:#2B317F;border-bottom:2px solid #F19001;padding-bottom:2px;align-self:flex-start}
.imep-cert-alink:hover{color:#D27E00}
.imep-cert-adots{display:flex;justify-content:center;gap:7px;margin-top:16px}
.imep-cert-adots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#C6CADD;cursor:pointer;transition:all .25s}
.imep-cert-adots button[aria-current="true"]{background:#F19001;width:24px;border-radius:5px}
@media (max-width:992px){.imep-cert-ahead{flex-direction:column;align-items:flex-start}.imep-cert-anav{display:none}}
@media (max-width:767px){.imep-cert-acard{width:82%;flex-basis:82%}}
/* FAQ */
.imep-cert-faq{max-width:860px}
.imep-cert-faq details{border-bottom:1px solid #E2E4EF}
.imep-cert-faq summary{cursor:pointer;list-style:none;padding:22px 46px 22px 0;position:relative;font-size:1.16rem;color:#1A1E3C;font-weight:500}
.imep-cert-faq summary::-webkit-details-marker{display:none}
.imep-cert-faq summary::after{content:'';position:absolute;right:10px;top:30px;width:11px;height:11px;border-right:2.2px solid #2B317F;border-bottom:2.2px solid #2B317F;transform:rotate(45deg)}
.imep-cert-faq details[open] summary::after{transform:rotate(-135deg)}
.imep-cert-rta{padding:0 46px 24px 0;color:#4E5468}
.imep-cert-rta .imep-cert-btn{padding:13px 26px;font-size:.92rem;margin-top:12px}
@media (max-width:1200px){.imep-cert-grid3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:992px){.imep-cert-sec{padding:72px 0}.imep-cert-3col{grid-template-columns:1fr}.imep-r2-sec{padding:72px 0}}
@media (max-width:767px){.imep-cert-grid3{grid-template-columns:1fr}}
