/* Webinars: preserve the photographic backgrounds, Oswald headings and IMCYC blue. */
body.wec-page {
    --wec-blue: #204382;
    --wec-blue-bright: #104a9f;
    --wec-ink: #0c1b2d;
    --wec-white: #ffffff;
    --wec-muted: #d7e2f0;
    --wec-red: #ed1d25;
    margin: 0;
    padding: 0;
    min-width: 0;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    color: var(--wec-white);
    font: 400 16px/1.5 'Raleway', sans-serif;
    background-color: #172330;
    background-image: var(--wec-background, url('/images/bkg_contenidos.jpg'));
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
}
.wec-page *, .wec-page *::before, .wec-page *::after { box-sizing: border-box; }
.wec-page [hidden] { display: none !important; }
.wec-page h1, .wec-page h2, .wec-page h3 { color: inherit; padding: 0; text-transform: none; letter-spacing: normal; }
.wec-page a { color: inherit; }
.wec-page a, .wec-page button, .wec-page summary { -webkit-tap-highlight-color: transparent; }
.wec-page :focus-visible { outline: 3px solid #9fcaff; outline-offset: 5px; }
.wec-page button { font: inherit; }
.wec-skip { position: fixed; top: -100px; left: 20px; z-index: 2000; padding: 12px 18px; background: var(--wec-blue); }
.wec-skip:focus { top: 12px; }
.wec-header { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 82px; margin: 0 24px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.65); position: relative; z-index: 20; }
.wec-brand { display: inline-flex; align-items: center; gap: 16px; text-decoration: none; }
.wec-brand img { display: block; width: 100px; height: 56px; padding-right: 14px; border-right: 1px solid rgba(255,255,255,.75); object-fit: contain; }
.wec-brand span { font-size: 14px; line-height: 1.45; }
.wec-account { position: relative; }
.wec-account summary { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #fff; border-radius: 50%; cursor: pointer; list-style: none; }
.wec-account summary::-webkit-details-marker { display: none; }
.wec-account-panel { position: absolute; right: 0; top: calc(100% + 12px); width: min(300px, calc(100vw - 40px)); padding: 24px; background: #fff; color: var(--wec-ink); border-radius: 12px; box-shadow: 0 12px 40px #0005; }
.wec-account-panel p { margin: 8px 0 18px; overflow-wrap: anywhere; font-size: 14px; }
.wec-account-panel a { display: flex; justify-content: space-between; padding-top: 12px; border-top: 1px solid #d7e2f0; color: var(--wec-blue); font-weight: 600; }
.wec-main { width: min(1440px, calc(100% - 64px)); margin: 0 auto; padding: 40px 0 56px; flex: 1 0 auto; min-width: 0; }
.wec-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-bottom: 24px; font-size: 14px; }
.wec-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.wec-breadcrumb span[aria-hidden] { opacity: .7; }
.wec-page-title { margin: 0 0 16px; font-family: 'Oswald', sans-serif; font-size: clamp(34px, 4vw, 54px); line-height: 1.18; font-weight: 300; }
.wec-caption { color: var(--wec-muted); font-size: 14px; margin: 0; }
.wec-empty { padding: 48px 24px; border: 1px solid #ffffff50; border-radius: 14px; text-align: center; background: #0c1b2ddd; }
.wec-empty h2 { font-size: 28px; line-height: 1.25; }
.wec-empty p { margin-bottom: 20px; }
.wec-empty a { text-decoration: underline; }

/* Dashboard: same two groups and outlined buttons, with natural document flow. */
.wec-dashboard { display: flex; flex-direction: column; justify-content: center; padding-top: 40px; }
.wec-category-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.wec-category-columns.is-single { grid-template-columns: 1fr; }
.wec-category-group h2 { margin: 0 0 30px; font-family: 'Oswald', sans-serif; font-size: clamp(36px, 4.8vw, 70px); font-weight: 300; line-height: 1.2; }
.wec-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; }
.wec-category-grid.is-single { grid-template-columns: 1fr; }
.wec-category-link { min-width: 0; min-height: 80px; padding: 16px 18px; display: flex; align-items: center; justify-content: center; text-align: center; font: 700 18px/1.3 'Montserrat', sans-serif; background: rgba(0,0,0,.52); border: 2px solid #fff; border-radius: 20px; transition: background .18s, transform .18s; overflow-wrap: break-word; }
.wec-category-link:hover { color: #fff; background: rgba(32,67,130,.85); transform: translateY(-2px); text-decoration: none; }
.wec-category-extra { margin-top: 20px; }

/* Course catalog: the heading leaves the full width to the course grid. */
.wec-catalog { --wec-background: url('/images/contenido.jpg'); }
.wec-catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.wec-catalog-heading h1 { margin-bottom: 0; }
.wec-catalog-heading p { flex-shrink: 0; padding-bottom: 5px; color: #fff; }
.wec-course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.wec-course-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.4); border-radius: 16px; overflow: hidden; background: rgba(12,27,45,.88); transition: transform .18s, border-color .18s; }
.wec-course-card:hover { color: #fff; text-decoration: none; transform: translateY(-3px); border-color: #fff; }
.wec-course-card > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; }
.wec-course-copy { padding: 22px 24px; display: flex; flex-direction: column; flex: 1; align-items: flex-start; }
.wec-course-copy h2 { margin: 0 0 22px; font: 600 19px/1.45 'Montserrat', sans-serif; }
.wec-course-open { display: flex; justify-content: space-between; gap: 16px; width: 100%; padding-top: 16px; margin-top: auto; border-top: 1px solid #ffffff35; font-size: 14px; font-weight: 600; }
.wec-course-open span { font-size: 22px; line-height: 1; }
.wec-module-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 24px; }
.wec-module-card { min-width: 0; min-height: 190px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid rgba(255,255,255,.4); border-radius: 16px; background: rgba(12,27,45,.88); transition: transform .18s, border-color .18s; }
.wec-module-card:hover { color: #fff; text-decoration: none; transform: translateY(-3px); border-color: #fff; }
.wec-module-standard { margin-bottom: 10px; font: 400 26px/1.2 'Oswald', sans-serif; color: #c3dcff; }
.wec-module-card h2 { margin: 0 0 22px; font: 600 18px/1.45 'Montserrat', sans-serif; color: #fff; }

/* Webinar: a quiet blue navigation column beside the large document stage. */
.wec-webinar { --wec-background: url('/images/webinars.jpg'); }
.wec-webinar .wec-main { width: min(1680px, calc(100% - 48px)); padding-top: 24px; }
.wec-workspace { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: start; }
.wec-course-sidebar { min-width: 0; border: 1px solid #ffffff35; border-radius: 14px; background: #0c1b2deb; }
.wec-menu-toggle { display: none; }
.wec-sidebar-content { padding: 24px 16px 16px; }
.wec-webinar .tit_webinar h2 { margin: 0; padding: 0 8px 20px !important; background: none !important; color: #fff; font: 300 25px/1.35 'Oswald', sans-serif !important; text-align: left !important; text-transform: none !important; }
.wec-webinar .tit_webinar h2 b { display: block; margin-top: 10px; font: 600 14px/1.5 'Montserrat', sans-serif; color: #c2d7fa; }
.wec-webinar .tit_webinar h2 br { display: none; }
.wec-webinar .tit_webinar .regresar { background: transparent; display: flex; align-items: center; width: auto; margin: 0 8px 22px; font-size: 13px; line-height: 1.4; }
.wec-webinar .tit_webinar .regresar::after { content: none; }
.wec-webinar .tit_webinar .regresar span { width: auto; background: none; margin: 0 6px 0 0; padding: 0; font-size: 24px; }
.wec-webinar .menu_webinars ul { margin: 0; padding: 0; list-style: none; }
.wec-webinar .menu_webinars ul li { margin: 0 0 6px; padding: 0; }
.wec-webinar .menu_webinars ul li a,
.wec-webinar .menu_webinars ul li span.unavailable { display: block; padding: 12px 14px; margin: 0; border: 1px solid transparent; border-radius: 8px; color: #fff; background: transparent; font: 500 14px/1.5 'Raleway', sans-serif; text-transform: none; cursor: pointer; }
.wec-webinar .menu_webinars ul li a:hover { background: #ffffff15; text-decoration: none; }
.wec-webinar .menu_webinars ul li a.active.exist { background: var(--wec-blue); color: #fff; border-color: #7ba7f0; font-weight: 700; }
.wec-webinar .menu_webinars ul li span.unavailable { color: #adb8c9; cursor: default; }
.wec-webinar .menu_webinars ul li span.unavailable::after { content: 'No disponible'; display: block; font-size: 11px; margin-top: 2px; }
.wec-webinar .modal { color: #26354b; }
.wec-webinar .modal h2 { color: var(--wec-blue); }
.wec-webinar .modal .modal-dialog { max-width: calc(100% - 24px); margin: 30px auto; }
.wec-material { min-width: 0; border: 1px solid #ffffff40; border-radius: 14px; background: #0c1b2dcc; }
.wec-material-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 28px; border-bottom: 1px solid #ffffff26; }
.wec-material-header h1 { font: 300 clamp(26px, 2.5vw, 36px)/1.2 'Oswald', sans-serif; margin: 0 0 6px; }
.wec-material-header p { margin: 0; color: var(--wec-muted); font-size: 14px; }
.wec-focus-button { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #ffffff65; border-radius: 8px; background: transparent; color: #fff; padding: 10px 14px; cursor: pointer; font-size: 13px !important; }
.wec-focus-button:hover { background: #ffffff15; }
.wec-webinar #container { position: relative; width: 100%; height: clamp(460px, 70vh, 1000px); background: #dde3eb; border-radius: 0 0 13px 13px; overflow: hidden; color: #152744; }
.wec-viewer-loading { padding: 48px 20px; text-align: center; }
.wec-viewer-hint { padding: 14px 24px; margin: 0; font-size: 12px; color: var(--wec-muted); border-top: 1px solid #ffffff26; }
.wec-workspace.is-focused { grid-template-columns: minmax(0, 1fr); }
.wec-workspace.is-focused .wec-course-sidebar { display: none; }
.wec-workspace.is-focused #container { height: max(480px, 78vh); }
.wec-standards { padding: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wec-standard { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 80px; padding: 20px; border-radius: 10px; border: 1px solid #ffffff50; background: var(--wec-blue); }
.wec-standard:hover { background: var(--wec-blue-bright); color: #fff; }

/* Login: same two screens and photographs, a smaller, clearer form. */
.wec-login { --wec-background: url('/images/login.png'); }
.wec-login.is-signing-in { --wec-background: url('/images/login2.png'); }
.wec-login-main { display: flex; align-items: center; width: calc(100% - 64px); padding-block: 48px; }
.wec-welcome h1 { font: 300 clamp(34px, 4.1vw, 60px)/1.22 'Raleway', sans-serif; text-transform: uppercase; max-width: 800px; margin: 0 0 32px; }
.wec-login .wec-start { min-height: 52px; width: 300px; max-width: 100%; border: 2px solid #fff; border-radius: 20px; padding: 14px 24px; background: transparent; color: #fff; font: 700 14px/1.5 'Raleway', sans-serif; letter-spacing: 3px; cursor: pointer; }
.wec-login .wec-start:hover { background: rgba(32,67,130,.55); color: #fff; }
.wec-login-form { width: min(420px, 100%); padding: 24px 0; }
.wec-login-form h1 { font: 300 44px/1.2 'Oswald', sans-serif; margin: 0 0 8px; }
.wec-login-form > p { margin: 0 0 30px; color: #fff; font-size: 15px; }
.wec-field { margin-bottom: 20px; }
.wec-field label { display: block; color: inherit; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.wec-field input { display: block; width: 100%; height: 52px; background: #fffffff2; color: #12233a; border: 1px solid #fff; border-radius: 8px; padding: 12px 16px; font: 400 16px 'Raleway', sans-serif; }
.wec-password { position: relative; }
.wec-password input { padding-right: 86px; }
.wec-password button { position: absolute; right: 4px; top: 4px; bottom: 4px; padding: 0 12px; border: none; border-radius: 6px; background: transparent; color: var(--wec-blue); font-size: 13px; font-weight: 700; cursor: pointer; }
.wec-submit { width: 100%; min-height: 52px; padding: 14px 20px; border: 1px solid #7ba7f0; border-radius: 8px; color: #fff; background: var(--wec-blue); font-weight: 600 !important; cursor: pointer; }
.wec-submit:hover { background: var(--wec-blue-bright); }
.wec-login .wec-submit { background: transparent; border: 2px solid #fff; border-radius: 20px; }
.wec-login .wec-submit:hover { background: rgba(32,67,130,.55); }
.wec-submit:disabled { opacity: .7; cursor: wait; }
.wec-login-status { padding: 12px 16px; margin-bottom: 20px; border-left: 3px solid #fff; background: #0c1b2dcc; font-size: 14px; }
.wec-login-status:empty { display: none; }
.wec-back { background: none; border: none; color: #fff; padding: 12px 0; margin-top: 8px; font-size: 14px !important; cursor: pointer; }
a.wec-back { display: inline-block; text-decoration: none; }
.wec-remember { display: flex; align-items: center; gap: 10px; margin: -4px 0 22px; color: #fff; font-size: 14px; font-weight: 500; line-height: 18px; cursor: pointer; }
.wec-remember input { width: 18px; height: 18px; margin: 0; accent-color: var(--wec-blue); cursor: pointer; }
.wec-forgot { margin: 16px 0 0; text-align: center; font-size: 14px; }
.wec-forgot[hidden] { display: none; }
.wec-forgot a { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
a.wec-link-button { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.wec-login-footer { flex: none; text-align: center; padding: 20px 16px; font-size: 11px; }
.wec-login-footer a { text-decoration: underline; text-underline-offset: 4px; }
.wec-logout .wec-start { display: inline-flex; justify-content: center; margin-top: 28px; letter-spacing: 1px; }

/* Footer always follows the content, including at increased browser zoom. */
.wec-footer { position: static; width: 100%; flex: none; padding: 20px 24px 14px; background: #fff; color: #26354b; border-top: 1px solid #d7e2f0; }
.wec-footer, .wec-footer * { box-sizing: border-box; }
.wec-footer-top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; max-width: 1500px; margin: auto; }
.wec-social, .wec-partners, .wec-payment { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px; }
.wec-social { gap: 12px; }
.wec-social a { width: 32px; height: 32px; display: grid; place-items: center; font-size: 18px; color: var(--wec-blue, #204382); }
.wec-partners img { display: block; max-width: 100%; height: auto; max-height: 35px; object-fit: contain; }
.wec-payment { gap: 5px; }
.wec-payment img { width: 30px; height: auto; }
.wec-footer > p { margin: 14px 0 0; text-align: center; font: 400 12px/1.5 'Oswald', sans-serif; }
@media (max-width: 1100px) {
    .wec-category-columns { gap: 28px; }
    .wec-category-link { font-size: 16px; }
    .wec-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wec-workspace { grid-template-columns: 240px minmax(0, 1fr); gap: 16px; }
    .wec-footer-top { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 800px) {
    .wec-category-columns { grid-template-columns: 1fr; gap: 36px; }
    .wec-category-group h2 { margin-bottom: 20px; }
    .wec-workspace { grid-template-columns: minmax(0, 1fr); }
    .wec-menu-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; border: 0; background: transparent; color: #fff; text-align: left; cursor: pointer; }
    .wec-sidebar-content { display: none; }
    .wec-course-sidebar.is-open .wec-sidebar-content { display: block; }
    .wec-webinar #container { height: 65vh; min-height: 420px; }
    .wec-material-header { padding: 20px; }
    .wec-catalog-heading { align-items: start; flex-direction: column; gap: 12px; }
}
@media (max-width: 540px) {
    .wec-header { margin-inline: 16px; min-height: 74px; }
    .wec-brand img { width: 88px; height: 48px; }
    .wec-main, .wec-webinar .wec-main { width: calc(100% - 32px); padding-top: 28px; padding-bottom: 32px; }
    .wec-category-grid { grid-template-columns: 1fr; }
    .wec-category-link { min-height: 72px; font-size: 17px; }
    .wec-category-extra { margin-top: 28px; }
    .wec-course-grid { grid-template-columns: 1fr; gap: 24px; }
    .wec-course-copy { padding: 20px; }
    .wec-course-copy h2 { font-size: 18px; }
    .wec-standards { grid-template-columns: 1fr; padding: 16px; }
    .wec-footer { padding-inline: 16px; }
    .wec-partners { gap: 16px; }
    .wec-login-main { padding-block: 40px; }
    .wec-welcome h1 { font-size: 34px; }
    .wec-login-form h1 { font-size: 38px; }
}
.wec-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border: 1px solid #ffffff65; border-radius: 8px; color: inherit; background: transparent; font-size: 14px; cursor: pointer; }
.wec-secondary:hover { color: #fff; background: #ffffff15; text-decoration: none; }
.wec-secondary:disabled { opacity: .4; cursor: default; }
.wec-inline-link { margin-top: 24px; }
.wec-form-error:not(:empty) { padding: 14px 18px; border-left: 3px solid #e29481; background: #502d36; color: #fff; margin-bottom: 24px; }
.wec-form-error:empty { display: none; }
.wec-eyebrow { display: block; font: 600 12px/1.5 'Raleway', sans-serif; color: #bbd0ee; margin-bottom: 6px; }
.wec-exam-body { padding: 28px; }
.wec-exam-overview { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin-bottom: 18px; }
.wec-exam-clock { display: flex; flex-direction: column; align-items: end; font-size: 12px; }
.wec-exam-clock strong { font: 500 28px/1.2 'Oswald', sans-serif; font-variant-numeric: tabular-nums; }
.wec-exam-form progress { width: 100%; height: 6px; display: block; accent-color: #90b8fa; border: none; border-radius: 4px; background: #ffffff25; }
.wec-exam-form progress::-webkit-progress-bar { background: #ffffff25; border-radius: 4px; }
.wec-exam-form progress::-webkit-progress-value { background: #90b8fa; border-radius: 4px; }
.wec-exam-intro { margin: 20px 0; color: var(--wec-muted); font-size: 14px; }
.wec-question-index { margin: 0 0 24px; }
.wec-question-index summary, .wec-result-review summary { cursor: pointer; font-size: 14px; padding: 8px 0; }
.wec-question-index > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(40px, 1fr)); gap: 8px; margin-top: 12px; }
.wec-question-index button { min-height: 40px; border: 1px solid #ffffff45; background: transparent; color: #fff; border-radius: 6px; cursor: pointer; }
.wec-question-index button.is-answered { background: #204382; }
.wec-question-index button[aria-current=step] { border: 2px solid #c3dcff; }
.wec-exam-questions { display: grid; gap: 20px; }
.wec-exam-form .drive-question { scroll-margin-top: 24px; min-width: 0; padding: 24px !important; margin: 0 !important; border: 0 !important; border-radius: 12px; background: #f6f8fc !important; color: var(--wec-ink); }
.wec-exam-form .drive-question legend { display: contents; font: 600 20px/1.5 'Raleway', sans-serif !important; color: var(--wec-ink) !important; }
.wec-exam-form .drive-question > div { margin: 12px 0 0 !important; }
.wec-exam-form .drive-question > div:first-of-type { margin-top: 24px !important; }
.wec-exam-form .drive-question label { display: flex; align-items: start; gap: 12px; width: 100%; padding: 16px; margin: 0; border: 1px solid #c5cfdd; border-radius: 8px; background: #fff; color: var(--wec-ink) !important; cursor: pointer; font-size: 16px; line-height: 1.5; }
.wec-exam-form .drive-question label:has(input:checked) { background: #e5eefe; border-color: var(--wec-blue); box-shadow: inset 3px 0 var(--wec-blue); }
.wec-exam-form .drive-question input { flex: none; margin-top: 3px; width: 19px; height: 19px; accent-color: var(--wec-blue); }
.wec-exam-form .drive-question.is-missing { box-shadow: 0 0 0 3px #f0b44c; }
.wec-exam-submit { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-top: 28px; margin-top: 24px; border-top: 1px solid #ffffff30; }
.wec-exam-submit button { width: auto; }
.wec-exam-submit span { font-size: 12px; color: var(--wec-muted); }
.wec-result-summary h2 { margin: 0 0 12px; font: 300 32px/1.25 'Oswald', sans-serif; }
.wec-result-score { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin: 28px 0; }
.wec-result-score strong { font: 400 64px/1 'Oswald', sans-serif; }
.wec-result-score span { font-size: 14px; color: var(--wec-muted); }
.wec-result-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.wec-result-review { margin-top: 24px; border-top: 1px solid #ffffff35; padding-top: 16px; }
.wec-result-review .row { color: var(--wec-ink); border-radius: 8px; }
.wec-result-review h4 { font: 500 16px/1.5 'Raleway', sans-serif; text-transform: none; color: var(--wec-ink); }
.wec-video-library { padding: 28px; }
.wec-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.wec-video-card { border-radius: 12px; border: 1px solid #ffffff35; overflow: hidden; }
.wec-video-card:hover { color: #fff; text-decoration: none; border-color: #c3dcff; }
.wec-video-cover { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: #204382b3; }
.wec-video-cover span:first-child { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid #ffffffa0; border-radius: 50%; font-size: 32px; }
.wec-video-cover span:last-child { font-size: 13px; }
.wec-video-card h2 { margin: 0; padding: 20px; font: 600 17px/1.5 'Raleway', sans-serif; }
.wec-video-title { font: 500 22px/1.4 'Raleway', sans-serif; margin: 0 0 24px; }
.wec-video-player { width: 100%; aspect-ratio: 16/9; background: #000; border-radius: 10px; overflow: hidden; }
.wec-video-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.wec-video-list { display: grid; gap: 8px; margin-top: 24px; }
.wec-video-list a { display: flex; justify-content: space-between; gap: 16px; padding: 14px 18px; border: 1px solid #ffffff30; border-radius: 8px; font-size: 14px; }
.wec-video-list a[aria-current] { background: var(--wec-blue); }
@media (max-width: 540px) {
    .wec-exam-body, .wec-video-library { padding: 20px 16px; }
    .wec-exam-form .drive-question { padding: 20px 16px !important; }
    .wec-exam-form .drive-question legend { font-size: 18px !important; }
    .wec-exam-form .drive-question label { padding: 12px; }
    .wec-video-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .wec-page *, .wec-page *::before, .wec-page *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Forms and administration share the same restrained blue workspace. */
.wec-document-body { padding: 28px; }
.wec-document-preview { padding: 20px; margin-bottom: 28px; border: 1px solid #c3d4ee; border-left: 4px solid #204382; border-radius: 8px; background: #f3f7fc; color: #203249; }
.wec-document-preview h2 { margin: 6px 0 10px; font-size: 21px; line-height: 1.35; color: #204382; }
.wec-document-preview p { line-height: 1.65; }
.wec-document-preview .wec-eyebrow { color: #385b8a; }
.wec-document-preview .wec-result-actions { margin-top: 18px; }
.wec-document-preview .wec-secondary { white-space: normal; color: #204382; border-color: #819cc2; }
.wec-document-preview .wec-secondary:hover { background: #204382; color: #fff; }
.wec-document-preview .wec-preview-note { margin: 16px 0 0; font-size: 13px; color: #3d526c; }
.wec-preview-more { border-top: 1px solid #c3d4ee; padding-top: 14px; margin-top: 18px; }
.wec-preview-more summary { cursor: pointer; font-size: 14px; }
.wec-document-intro { margin-bottom: 28px; max-width: 64ch; }
.wec-document-form > p { margin-bottom: 24px; }
.wec-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 24px; }
.wec-form-grid .wec-full { grid-column: 1/-1; }
.wec-field { min-width: 0; }
.wec-field select, .wec-field textarea, .wec-search input, .wec-search select { width: 100%; border: 1px solid #c6d3e5; border-radius: 8px; padding: 12px 14px; background: #f7f9fc; color: #12233a; min-height: 48px; font: 400 15px/1.5 'Raleway',sans-serif; }
.wec-field select { min-height: 52px; }
.wec-field small { display: block; margin-top: 8px; color: #c8d5e8; line-height: 1.5; }
.wec-field small a { text-decoration: underline; text-underline-offset: 3px; }
.wec-field input[type=file] { height: auto; padding: 10px; font-size: 13px; }
.wec-field input::file-selector-button { background: #e3eafb; color: #204382; border: 0; border-radius: 4px; padding: 8px; margin-right: 8px; font: inherit; cursor: pointer; }
.wec-document-form .wec-submit, .wec-survey-form > .wec-submit, .wec-admin .wec-submit { width: auto; min-width: 190px; }
.wec-survey-form fieldset { min-width: 0; margin: 0 0 28px; padding: 0 0 24px; border: 0; border-bottom: 1px solid #ffffff30; }
.wec-survey-form legend { border: 0; padding: 0; margin: 0 0 14px; color: #fff; font: 600 17px/1.5 'Raleway',sans-serif; }
.wec-survey-options { display: flex; flex-wrap: wrap; gap: 10px; }
.wec-survey-options label { display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid #ffffff70; border-radius: 8px; color: #fff; font-size: 14px; font-weight: 400; cursor: pointer; margin: 0; }
.wec-survey-options label:has(input:checked) { background: var(--wec-blue); border-color: #91b8fa; }
.wec-survey-options input, .wec-checkbox input { margin: 0; width: 18px; height: 18px; accent-color: #719fe9; flex: none; }
.wec-survey-success { border-left: 3px solid #91b8fa; padding: 4px 0 4px 20px; margin-bottom: 32px; }
.wec-survey-success h2 { font: 300 28px/1.3 'Oswald',sans-serif; margin: 0 0 12px; }
.wec-survey-success p { margin: 0; }
.wec-video-player video { display: block; width: 100%; height: 100%; }
.wec-admin .wec-main { width: min(1380px,calc(100% - 64px)); }
.wec-admin-heading, .wec-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.wec-admin-heading { margin: 16px 0 26px; }
.wec-admin-heading h1 { margin: 0; }
.wec-eyebrow { margin: 0 0 10px; color: #bbd2f7; text-transform: uppercase; font-size: 12px; letter-spacing: 1.5px; font-weight: 700; }
.wec-admin-tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #ffffff40; margin: 0 0 32px; }
.wec-admin-tabs a { padding: 14px 24px; border-bottom: 3px solid transparent; font-weight: 600; }
.wec-admin-tabs a[aria-current=page] { border-color: #91b8fa; background: #20438280; }
.wec-admin-tabs a:hover { background: #ffffff15; text-decoration: none; }
.wec-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; margin: 0 0 28px; }
.wec-stat-grid > div { padding: 24px; border: 1px solid #ffffff35; border-radius: 12px; background: #0c1b2dcc; }
.wec-stat-grid strong { display: block; margin-bottom: 8px; font: 400 40px/1.2 'Oswald',sans-serif; }
.wec-stat-grid span { font-size: 14px; color: #c8d5e8; }
.wec-admin-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 24px 0; }
.wec-admin-action, .wec-admin-panel { padding: 28px; border: 1px solid #ffffff35; border-radius: 14px; background: #0c1b2de8; }
.wec-admin-action:hover { background: #20438290; color: #fff; text-decoration: none; }
.wec-admin-action h2, .wec-admin-panel h2 { font: 300 30px/1.3 'Oswald',sans-serif; margin: 0 0 16px; }
.wec-admin-panel h3 { font: 400 22px/1.35 'Oswald',sans-serif; margin: 0 0 20px; }
.wec-admin-action p { color: #d7e2f0; margin-bottom: 24px; }
.wec-admin-action span { font-size: 14px; font-weight: 700; }
.wec-admin-panel { margin: 28px 0; scroll-margin-top: 24px; }
.wec-search { display: flex; align-items: center; gap: 10px; flex: 1; }
.wec-search input { min-width: 190px; max-width: 420px; }
.wec-search select { width: auto; max-width: 220px; }
.wec-toolbar { margin-bottom: 24px; }
.wec-toolbar > a { flex-shrink: 0; }
.wec-table-scroll { overflow-x: auto; margin-top: 18px; border: 1px solid #ffffff30; border-radius: 12px; }
.wec-table { width: 100%; border-collapse: collapse; margin: 0; background: #0c1b2dbf; font-size: 14px; }
.wec-table th { text-align: left; background: #20438280; padding: 16px 18px; font-weight: 700; }
.wec-table td { padding: 18px; border-top: 1px solid #ffffff26; vertical-align: middle; max-width: 480px; overflow-wrap: anywhere; }
.wec-table td:last-child a { white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
.wec-badge { display: inline-flex; padding: 5px 10px; border: 1px solid #89b4ef; border-radius: 6px; background: #20438270; color: #e8f0ff; font-size: 12px; line-height: 1.5; white-space: nowrap; }
.wec-badge.is-muted { border-color: #abb5c6; background: #abb5c615; }
.wec-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 24px; margin-top: 22px; font-size: 14px; }
.wec-pagination a { text-decoration: underline; text-underline-offset: 4px; padding: 8px 0; }
.wec-notice { border-left: 3px solid #91b8fa; background: #20438255; padding: 16px 20px; margin: 20px 0; }
.wec-checkbox { display: flex; align-items: center; gap: 10px; color: #fff; font: 400 14px/1.5 'Raleway',sans-serif; margin: 12px 0; }
.wec-account-actions { border-top: 1px solid #ffffff35; padding-top: 28px; margin-top: 32px; }
.wec-account-actions button { margin-top: 20px; }
.wec-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
@media(max-width:800px) {
 .wec-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .wec-admin-actions { grid-template-columns: 1fr; }
 .wec-search { flex-wrap: wrap; }
 .wec-search input { max-width: none; flex-basis: 100%; }
}
@media(max-width:540px) {
 .wec-form-grid { grid-template-columns: 1fr; }
 .wec-admin .wec-main { width: calc(100% - 32px); }
 .wec-admin-panel, .wec-admin-action, .wec-document-body { padding: 22px 18px; }
 .wec-stat-grid { gap: 12px; }
 .wec-stat-grid > div { padding: 18px; }
 .wec-admin-tabs a { padding: 12px 17px; }
 .wec-form-actions > *, .wec-document-form .wec-submit, .wec-survey-form > .wec-submit { width: 100%; }
 .wec-pagination { gap: 14px; font-size: 12px; justify-content: space-between; }
}

/* Official monochrome partner artwork stays crisp on the white footer. */
.wec-partners img, .wec-social img { filter: brightness(0) saturate(100%) invert(24%) sepia(24%) saturate(2104%) hue-rotate(184deg) brightness(94%) contrast(91%); }
.wec-social a { width: 40px; height: 40px; border: 1px solid #d3deef; border-radius: 50%; }
.wec-social a:hover { background: #e7eef9; }
.wec-social img { display: block; object-fit: contain; }
@media(max-width:540px) {
 .wec-toolbar { flex-direction: column; align-items: stretch; }
 .wec-search { width: 100%; }
 .wec-toolbar > a { justify-content: center; }
}
.wec-category-tools { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 20px; }
.wec-category-tools:empty { display: none; }
.wec-category-tools > :only-child { grid-column: 1/-1; }
.wec-ai-frame { display: block; width: 100%; height: max(600px,76vh); border: 0; border-radius: 0 0 13px 13px; background: #fff; }
@media(max-width:540px) { .wec-category-tools { grid-template-columns: 1fr; gap: 12px; } .wec-ai-frame { height: 78svh; min-height: 520px; } }
/* Payments share the course workspace and leave its photographic background clear. */
.wec-payment-body { padding:clamp(18px,3vw,32px); }
.wec-payment-products { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px; }
.wec-payment-product { border:1px solid rgba(255,255,255,.24);border-radius:14px;padding:24px;background:rgba(0,0,0,.2); }
.wec-payment-product h2 { margin:0 0 18px;font-size:24px;line-height:1.3; }
.wec-payment-price { font-size:30px;font-weight:600;line-height:1.4; }
.wec-payment-price small { display:block;font-size:14px;font-weight:400; }
.wec-payment-notice { padding:16px;border:1px solid #e5bd6d;border-radius:10px;color:#fff1cf;background:rgba(70,47,0,.5);margin-bottom:24px; }
.wec-payment-form { display:grid;gap:12px;margin-top:24px; }
.wec-payment-form label { color:var(--wec-white); }
.wec-payment-form select { width:100%;height:auto;min-height:48px;padding:12px;border-radius:8px;border:1px solid #acb6c7;background:#fff;color:#18283e;font:inherit; }
.wec-payment-confirm { display:flex;gap:10px;font-size:14px;line-height:1.5;align-items:flex-start;cursor:pointer; }
.wec-payment-confirm input[type=checkbox] { flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#719fe9; }
.wec-payment-form button:disabled { opacity:.5;cursor:not-allowed; }
.wec-payment-instructions dd { font-size:21px;word-break:break-word;margin-bottom:16px; }
.wec-payment-barcode { max-width:100%;background:#fff;padding:16px; }
.wec-payment-footnote { margin-top:24px;font-size:14px;overflow-wrap:anywhere; }
.wec-admin-toolbar { display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-top:24px; }
.wec-admin-toolbar label { display:grid;gap:6px;color:inherit; }
.wec-webinar .wec-table { min-width:660px; }
.wec-webinar .wec-table td:nth-child(2), .wec-webinar .wec-table td:nth-child(3) { white-space:nowrap; }
.wec-admin-toolbar + .wec-table-scroll .wec-table { min-width:1100px; }
.wec-admin-toolbar input,.wec-admin-toolbar select { padding:10px 12px;border-radius:8px;border:1px solid #afbbce;background:#fff;color:#172840;min-height:44px; }
.wec-openpay-brand { display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #ffffff30; }
.wec-openpay-brand>span { font-size:14px; }
.wec-openpay-brand img { display:block;width:220px;max-width:100%;height:auto;border-radius:4px; }
.wec-openpay-brand p { flex-basis:100%;font-size:13px;margin:0;color:#d8e3f3; }
.wec-openpay-brand p a { text-decoration:underline;text-underline-offset:3px; }
.wec-footer-legal { display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;font-size:12px;margin:18px 0; }

/* Opciones de compra y ejemplos de documentos — 2026-10-11 */
.wec-payment-intro { margin-bottom:28px; }
.wec-payment-intro h2 { font:300 clamp(24px,2.4vw,32px)/1.25 'Oswald',sans-serif;margin:0 0 8px;color:#fff; }
.wec-payment-intro p { max-width:70ch;margin:0;font-size:15px;line-height:1.6;color:#d8e3f3; }
.wec-payment-jump { list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:18px 0 0; }
.wec-payment-jump a { display:flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border:1px solid #ffffff55;border-radius:999px;color:#fff;font-size:14px; }
.wec-payment-jump a:hover { background:#ffffff15;text-decoration:none; }
.wec-payment-jump span { display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--wec-blue);font-weight:700;font-size:13px; }
.wec-payment-jump strong { font-weight:600;color:#bbd0ee; }
.wec-payment-products { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.wec-payment-product { display:flex;flex-direction:column;border-top:4px solid #7ba7f0;scroll-margin-top:24px; }
.wec-payment-product.is-presential { border-top-color:#e5bd6d; }
.wec-payment-product:target { box-shadow:0 0 0 2px #90b8fa; }
.wec-payment-product > .wec-submit, .wec-payment-product > .wec-payment-form:last-child { margin-top:auto; }
.wec-payment-product > .wec-submit { display:flex;align-items:center;justify-content:center;margin-top:auto; }
.wec-payment-option-head { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px; }
.wec-payment-option-number { font:700 12px/1 'Raleway',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#bbd0ee; }
.wec-payment-tag { padding:4px 10px;border:1px solid #7ba7f080;border-radius:999px;background:#7ba7f026;color:#d7e6ff;font-size:12px;font-weight:600; }
.is-presential .wec-payment-tag { border-color:#e5bd6d80;background:#e5bd6d26;color:#ffe7b0; }
.wec-payment-status { margin-left:auto;padding:4px 10px;border-radius:999px;background:#fff;color:var(--wec-ink);font-size:12px;font-weight:700; }
.wec-payment-status.is-paid { background:#bfe8c8;color:#0f3d1c; }
.wec-payment-product h3 { margin:20px 0 6px;font-size:22px;line-height:1.3;color:#fff; }
.wec-payment-product .wec-payment-price { margin:0; }
.wec-payment-total { margin:6px 0 16px;font-size:14px;color:#d8e3f3; }
.wec-payment-features { list-style:none;display:grid;gap:8px;padding:0;margin:0 0 24px;font-size:14px;line-height:1.5; }
.wec-payment-features li { position:relative;padding-left:24px; }
.wec-payment-features li::before { content:'✓';position:absolute;left:0;top:0;font-weight:700;color:#90b8fa; }
.is-presential .wec-payment-features li::before { color:#e5bd6d; }
.wec-payment-features a { text-decoration:underline;text-underline-offset:3px; }
.wec-payment-products ~ .wec-openpay-brand { margin:32px 0 0;padding:24px 0 0;border-bottom:0;border-top:1px solid #ffffff30; }
.wec-doc-example { margin:0; }
.wec-doc-example a { position:relative;display:block;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0006; }
.wec-doc-example a:focus-visible { outline:3px solid #90b8fa;outline-offset:3px; }
.wec-doc-example img { display:block;width:100%;height:auto; }
.wec-payment-product .wec-doc-example a { aspect-ratio:5/4; }
.wec-payment-product .wec-doc-example img { height:100%;object-fit:cover;object-position:top; }
.wec-doc-example-badge { position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;background:var(--wec-blue);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.wec-doc-example-zoom { position:absolute;right:10px;bottom:10px;padding:6px 12px;border-radius:6px;background:#0c1b2dd9;color:#fff;font-size:13px; }
.wec-doc-example a:hover .wec-doc-example-zoom { background:var(--wec-blue); }
.wec-doc-example figcaption { margin-top:8px;font-size:12px;line-height:1.5;color:#bbd0ee; }
.wec-exam-reward { display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;padding:20px;margin:20px 0 28px;border:1px solid #ffffff30;border-radius:12px;background:#ffffff0d; }
.wec-exam-reward h2 { margin:0 0 8px;font:400 22px/1.3 'Raleway',sans-serif;color:#fff; }
.wec-exam-reward p { margin:0 0 8px;font-size:14px;line-height:1.6;color:#d8e3f3; }
.wec-exam-reward p.wec-eyebrow { margin-bottom:6px;font-size:12px;color:#bbd0ee; }
.wec-exam-reward .wec-doc-example-badge { top:6px;left:6px;padding:3px 7px;font-size:9px; }
.wec-exam-reward .wec-doc-example-zoom { left:6px;right:6px;bottom:6px;padding:4px;font-size:11px;text-align:center; }
.wec-exam-reward-extra a { text-decoration:underline;text-underline-offset:3px; }
.wec-doc-dialog { width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:12px;background:#0c1b2d;color:#fff;overflow:auto; }
.wec-doc-dialog::backdrop { background:#000b; }
.wec-doc-dialog-head { position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#0c1b2d;border-bottom:1px solid #ffffff26; }
.wec-doc-dialog-head h2 { margin:0;font-size:18px;line-height:1.3;color:#fff; }
.wec-doc-dialog img { display:block;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 175px);margin:0 auto;background:#fff; }
.wec-doc-dialog p { margin:0;padding:12px 18px;font-size:13px;color:#d8e3f3; }
@media(max-width:540px) {
    .wec-exam-reward { grid-template-columns:104px 1fr;gap:16px;padding:16px; }
    .wec-exam-reward h2 { font-size:18px; }
    .wec-exam-reward .wec-doc-example-zoom { display:none; }
    .wec-payment-jump a { width:100%; }
}
.wec-payment-methods { display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0; }
.wec-payment-methods legend { margin-bottom:4px;padding:0;border:0;font-size:15px;font-weight:600;color:#fff; }
.wec-payment-methods legend span { font-weight:400;color:#bbd0ee; }
.wec-payment-form .wec-payment-method { display:flex;align-items:flex-start;gap:12px;margin:0;padding:12px 14px;border:1px solid #ffffff40;border-radius:10px;background:#ffffff0a;color:#fff;cursor:pointer;font-weight:400; }
.wec-payment-method:hover { border-color:#ffffff80; }
.wec-payment-method:has(input:checked) { border-color:#90b8fa;background:#204382b3;box-shadow:inset 3px 0 #90b8fa; }
.wec-payment-method:has(input:focus-visible) { outline:3px solid #90b8fa;outline-offset:2px; }
.wec-payment-method input { flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:#90b8fa; }
.wec-payment-method svg { flex:none;color:#bbd0ee; }
.wec-payment-method:has(input:checked) svg { color:#fff; }
.wec-payment-method strong { display:block;font-size:15px;line-height:1.4; }
.wec-payment-method small { display:block;margin-top:2px;font-size:13px;line-height:1.45;color:#d8e3f3; }

/* Paneles del curso en grafito neutro: el azul queda como acento (2026-10-11). */
.wec-webinar .wec-course-sidebar, .wec-webinar .wec-material { border:1px solid #ffffff2e;background:#16191deb;box-shadow:0 16px 40px #00000059; }
.wec-webinar .wec-material-header { border-bottom-color:#ffffff1f; }
.wec-webinar .menu_webinars ul li a.exist:not(.active) { background:#ffffff0d;border-color:#ffffff14; }
.wec-webinar .menu_webinars ul li a.exist:not(.active):hover { background:#ffffff1f;border-color:#ffffff33; }
.wec-webinar .menu_webinars ul li a.active.exist { box-shadow:inset 3px 0 #90b8fa; }
.wec-webinar .wec-payment-product { background:#ffffff08; }

/* Asistente Concretón con créditos (2026-10-11) */
.wec-ai-brand { display:flex;align-items:center;gap:14px; }
.wec-ai-brand img { flex:none;width:56px;height:56px;border-radius:50%;background:#ffffff14; }
.wec-ai-balance { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 20px;padding:16px 28px;border-bottom:1px solid #ffffff1f; }
.wec-ai-balance .wec-eyebrow { margin:0; }
.wec-ai-balance strong { font:500 26px/1.2 'Oswald',sans-serif;font-variant-numeric:tabular-nums; }
.wec-ai-balance span { color:#d8e3f3;font-size:14px; }
.wec-ai-balance progress { width:100%;height:8px;accent-color:#90b8fa;border:0;border-radius:4px;background:#ffffff25; }
.wec-ai-balance progress::-webkit-progress-bar { background:#ffffff25;border-radius:4px; }
.wec-ai-balance progress::-webkit-progress-value { background:#90b8fa;border-radius:4px; }
.wec-ai-balance p { grid-column:1/-1;margin:0;font-size:13px;line-height:1.5;color:#d8e3f3; }
.wec-ai-balance p a { text-decoration:underline; }
.wec-ai-log { display:flex;flex-direction:column;gap:16px;min-height:340px;max-height:62vh;overflow-y:auto;padding:24px 28px; }
.wec-ai-empty { margin:auto;max-width:520px;text-align:center;color:#d8e3f3; }
.wec-ai-message { max-width:min(820px,92%); }
.wec-ai-message.is-user { align-self:flex-end;padding:12px 16px;border-radius:14px 14px 4px 14px;background:var(--wec-blue);border:1px solid #7ba7f0; }
.wec-ai-message.is-user .wec-ai-text { white-space:pre-wrap; }
.wec-ai-message.is-assistant { align-self:flex-start;padding:16px 20px;border-radius:14px 14px 14px 4px;background:#ffffff0f;border:1px solid #ffffff1f; }
.wec-ai-message.is-waiting .wec-ai-text { animation:wec-ai-pulse 1.2s ease-in-out infinite; }
@keyframes wec-ai-pulse { 50% { opacity:.35; } }
.wec-ai-text { font-size:15px;line-height:1.65;overflow-wrap:anywhere; }
.wec-ai-text > :first-child { margin-top:0; } .wec-ai-text > :last-child { margin-bottom:0; }
.wec-ai-text p, .wec-ai-text ul, .wec-ai-text ol { margin:0 0 12px; }
.wec-ai-text h1, .wec-ai-text h2, .wec-ai-text h3, .wec-ai-text h4 { margin:16px 0 8px;font:600 17px/1.4 'Raleway',sans-serif;color:#fff;text-transform:none; }
.wec-ai-text a { color:#a9c8ff;text-decoration:underline; }
.wec-ai-text code { padding:1px 5px;border-radius:4px;background:#00000040;font-size:.9em; }
.wec-ai-text pre { padding:12px;border-radius:8px;background:#00000040;overflow-x:auto; }
.wec-ai-text table { width:100%;margin:0 0 12px;border-collapse:collapse;font-size:14px; }
.wec-ai-text th, .wec-ai-text td { padding:6px 10px;border:1px solid #ffffff2e;text-align:left; }
.wec-ai-cost { margin:10px 0 0;font-size:12px;color:#bbd0ee; }
.wec-ai > .wec-form-error { margin:0 28px 12px; }
.wec-ai-form { display:flex;gap:12px;align-items:flex-end;padding:16px 28px 24px;border-top:1px solid #ffffff1f; }
.wec-ai-form textarea { flex:1;min-height:52px;max-height:200px;padding:14px;border:1px solid #acb6c7;border-radius:10px;background:#fff;color:#18283e;font:15px/1.5 'Raleway',sans-serif;resize:vertical; }
.wec-ai-form .wec-submit { width:auto;min-width:120px; }
.wec-ai-note { margin:0;padding:0 28px 20px;font-size:13px;color:#ffe7b0; }
@media(max-width:540px) {
    .wec-ai-balance, .wec-ai-log, .wec-ai-form { padding-left:16px;padding-right:16px; }
    .wec-ai-form { flex-direction:column;align-items:stretch; }
    .wec-ai-form .wec-submit { width:100%; }
    .wec-ai-message { max-width:100%; }
}
.wec-admin-toolbar .wec-admin-check { display:flex;flex-direction:row;align-items:center;gap:8px;min-height:44px; }
/* El CSS heredado pinta las tablas de blanco y el código en gris oscuro; dentro del chat se ajustan al tema. */
.wec-ai-text table { display:block;max-width:100%;overflow-x:auto;background:transparent;color:inherit; }
.wec-ai-text th { background:#20438266;color:#fff;font-weight:700; }
.wec-ai-text tbody tr:nth-child(even) td { background:#ffffff0a; }
.wec-ai-text td, .wec-ai-text th { color:inherit;vertical-align:top; }
.wec-ai-text pre, .wec-ai-text code { color:#e8eef8;border:0; }
.wec-ai-text blockquote { margin:0 0 12px;padding:4px 14px;border-left:3px solid #90b8fa;color:#d8e3f3;font-size:inherit; }
.wec-ai-text hr { border-color:#ffffff2e; }
.wec-ai-badge { display:inline-block;margin:0 0 10px;padding:3px 10px;border:1px solid #90b8fa80;border-radius:999px;background:#90b8fa1f;color:#d7e6ff;font-size:12px;font-weight:600; }
/* Aviso de renovación de membresía y página de vencimiento */
.wec-renew-banner { position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;width:min(1680px,calc(100% - 48px));margin:16px auto 0;padding:16px 56px 16px 20px;border:1px solid #e5bd6d;border-left:4px solid #e5bd6d;border-radius:10px;background:#2a2312f2;color:#fff1cf; }
.wec-renew-banner p { flex:1 1 420px;margin:0;font-size:15px;line-height:1.5; }
.wec-renew-banner .wec-submit { width:auto;min-height:44px;padding:10px 20px;background:#e5bd6d;border-color:#e5bd6d;color:#1d1608; }
.wec-renew-banner .wec-submit:hover { background:#f0cf8c; }
.wec-renew-close { position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;border-radius:6px;background:transparent;color:#fff1cf;font-size:24px;line-height:1;cursor:pointer; }
.wec-renew-close:hover { background:#ffffff1a; }
.wec-expired { max-width:760px;margin:40px auto; }
.wec-expired-body { padding:24px 28px 28px; }
.wec-expired-body > p { font-size:16px;line-height:1.6; }
.wec-expired-body .wec-result-actions { margin:24px 0; }
.wec-expired-body .wec-submit { width:auto;display:inline-flex;align-items:center; }
@media(max-width:540px) { .wec-renew-banner { width:calc(100% - 32px); } .wec-expired-body { padding:20px; } }
.wec-membership-import label { flex:1 1 360px; }
.wec-membership-import textarea { width:100%;padding:10px 12px;border-radius:8px;border:1px solid #afbbce;background:#fff;color:#172840;font:14px/1.5 monospace; }
.wec-inline-form { display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.wec-inline-form select, .wec-inline-form input[type=date] { min-height:40px;padding:6px 10px;border-radius:8px;border:1px solid #afbbce;background:#fff;color:#172840; }
.wec-inline-form .wec-secondary { padding:8px 14px; }
.wec-text-danger { color:#ffb4a6; }

/* Compra pública de membresías (2026-10-11) */
.wec-shop { max-width:1100px;margin:0 auto; }
.wec-shop-form { gap:28px; }
.wec-shop-form fieldset { min-width:0;margin:0;padding:0;border:0; }
.wec-shop-step { display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:0;border:0;font:400 22px/1.3 'Oswald',sans-serif;color:#fff; }
.wec-shop-step span { display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--wec-blue);font:700 15px/1 'Raleway',sans-serif; }
.wec-shop-plans { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px; }
.wec-shop-plans > legend { grid-column:1/-1; }
.wec-shop-plans .wec-payment-product { gap:10px; }
.wec-shop-plans .wec-payment-product.is-plus { border-top-color:#e5bd6d; }
.wec-shop-plans .wec-payment-product h2 { margin:0;font-size:24px; }
.wec-shop-plans .wec-payment-option-head { margin-bottom:6px; }
.wec-shop-plans .wec-payment-features { margin-bottom:8px; }
.wec-shop-plan strong { font-size:16px; }
.wec-shop-data { display:grid;gap:10px;max-width:640px; }
.wec-shop-data input[type=text], .wec-shop-data input[type=email] { width:100%;min-height:48px;padding:12px;border-radius:8px;border:1px solid #acb6c7;background:#fff;color:#18283e;font:inherit; }
.wec-shop-data .wec-submit { margin-top:8px; }
.wec-shop-data .wec-payment-confirm a { text-decoration:underline; }
.wec-shop-trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.wec-shop-done { font-size:18px; }
.wec-shop .wec-payment-body > .wec-submit { display:inline-flex;width:auto;align-items:center; }

/* Contenido adicional del curso: libros relacionados (2026-10-11) */
.wec-extra-intro { max-width:70ch;margin:0 0 24px;font-size:15px;line-height:1.6;color:#d8e3f3; }
.wec-extra-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:20px;margin-bottom:24px; }
.wec-extra-book { display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid #ffffff2e;border-radius:12px;background:#ffffff08; }
.wec-extra-cover { display:block;overflow:hidden;border-radius:8px;background:#ffffff14;aspect-ratio:3/4; }
.wec-extra-cover img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s; }
.wec-extra-cover:hover img { transform:scale(1.03); }
.wec-extra-info { display:grid;gap:8px;align-content:start;flex:1; }
.wec-extra-info h2 { margin:0;font:600 16px/1.4 'Raleway',sans-serif;color:#fff;text-transform:none; }
.wec-extra-price { margin:0;font-size:18px;font-weight:700;color:#fff; }
.wec-extra-price small { font-size:12px;font-weight:400;color:#bbd0ee; }
.wec-extra-info .wec-payment-tag { justify-self:start; }
.wec-extra-book .wec-submit, .wec-extra-book .wec-secondary { display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 14px;text-align:center; }

/* Historial del Asistente Concretón (2026-10-11) */
.wec-ai-layout { display:grid;grid-template-columns:260px minmax(0,1fr); }
.wec-ai-main { min-width:0;border-left:1px solid #ffffff1f; }
.wec-ai-history { padding:16px 12px; }
.wec-ai-history summary { padding:4px 8px 12px;font:700 12px/1.4 'Raleway',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#bbd0ee;cursor:pointer;list-style:none; }
.wec-ai-history summary::-webkit-details-marker { display:none; }
.wec-ai-history ul { display:grid;gap:4px;max-height:60vh;overflow-y:auto;margin:0;padding:0;list-style:none; }
.wec-ai-history li { display:flex;align-items:stretch;border-radius:8px; }
.wec-ai-history li.is-current { background:#20438299;box-shadow:inset 3px 0 #90b8fa; }
.wec-ai-history li:not(.is-current):hover { background:#ffffff12; }
.wec-ai-history-open { flex:1;min-width:0;display:grid;gap:2px;padding:9px 10px;border:0;background:transparent;color:#fff;font:500 13px/1.35 'Raleway',sans-serif;text-align:left;cursor:pointer;overflow:hidden; }
.wec-ai-history-title { overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
.wec-ai-history-open small { color:#bbd0ee;font-size:11px; }
.wec-ai-history-delete { flex:none;width:30px;border:0;border-radius:6px;background:transparent;color:#bbd0ee;font-size:18px;cursor:pointer;opacity:.6; }
.wec-ai-history-delete:hover, .wec-ai-history-delete:focus-visible { opacity:1;background:#ffffff1a;color:#fff; }
.wec-ai-history-empty { padding:8px 10px;font-size:13px;color:#bbd0ee; }
.wec-ai-history-note { margin:12px 8px 0;font-size:11px;line-height:1.5;color:#8fa6c4; }
@media(max-width:900px) {
    .wec-ai-layout { grid-template-columns:minmax(0,1fr); }
    .wec-ai-main { border-left:0; }
    .wec-ai-history { border-bottom:1px solid #ffffff1f;padding:12px 16px; }
    .wec-ai-history summary { padding:4px 0; }
    .wec-ai-history[open] summary { padding-bottom:10px; }
    .wec-ai-history ul { max-height:40vh; }
}
/* Publicaciones y valor agregado: CyT, Concretón, Investigación, Líderes, Encuentros y Acervo (2026-10-11) */
.wec-pub .sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.wec-pub-intro { max-width:72ch;margin:-12px 0 28px;color:var(--wec-muted);font-size:15px;line-height:1.6; }
.wec-pub-toolbar { display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:32px;padding:16px;border:1px solid #ffffff2e;border-radius:14px;background:#16191deb;box-shadow:0 16px 40px #00000040; }
.wec-pub-search { flex:1 1 280px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #ffffff40;border-radius:10px;background:#ffffff0d;color:#c9d4e3; }
.wec-pub-search:focus-within { border-color:#9fcaff; }
.wec-pub-search input { flex:1;min-width:0;height:46px;border:0;background:transparent;color:#fff;font:inherit;outline:none; }
.wec-pub-search input::placeholder { color:#c9d4e3; }
.wec-pub-years { display:flex;flex-wrap:wrap;gap:6px; }
.wec-pub-years button { min-height:36px;padding:6px 13px;border:1px solid #ffffff33;border-radius:999px;background:transparent;color:#fff;font-size:13px;cursor:pointer; }
.wec-pub-years button:hover { background:#ffffff14; }
.wec-pub-years button.is-active { background:#fff;border-color:#fff;color:#16191d;font-weight:700; }
.wec-pub-count { margin:0 0 0 auto;font-size:13px;color:var(--wec-muted); }
.wec-pub-group { margin-bottom:40px; }
.wec-pub-group-title { display:flex;align-items:center;gap:16px;margin:0 0 18px;font:300 30px/1.1 'Oswald',sans-serif; }
.wec-pub-group-title::after { content:'';flex:1;height:1px;background:#ffffff40; }
.wec-pub-group-title small { order:2;font:600 12px/1 'Raleway',sans-serif;color:var(--wec-muted); }
.wec-pub-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:22px; }
.wec-pub-grid.is-wide { grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); }
.wec-pub-card { display:flex;flex-direction:column;min-width:0;border:1px solid #ffffff2e;border-radius:14px;overflow:hidden;background:#16191deb;box-shadow:0 12px 32px #00000040;text-decoration:none;transition:transform .18s,border-color .18s; }
.wec-pub-card:hover, .wec-pub-card:focus-visible { color:#fff;text-decoration:none;transform:translateY(-3px);border-color:#ffffffb0; }
.wec-pub-cover { display:block;aspect-ratio:3/4;background:#dde3eb;overflow:hidden; }
.is-wide .wec-pub-cover { aspect-ratio:16/10; }
.wec-pub-grid.is-people { grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); }
.is-people .wec-pub-cover { aspect-ratio:7/5;background:#2a3038; }
.wec-pub-cover img { display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .25s; }
.wec-pub-card:hover .wec-pub-cover img { transform:scale(1.03); }
.wec-pub-cover-empty { display:grid;place-items:center;height:100%;color:#204382;font:600 20px 'Oswald',sans-serif; }
.wec-pub-copy { display:flex;flex-direction:column;gap:6px;flex:1;padding:14px 16px 16px; }
.wec-pub-copy small { font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#b8c9e4; }
.wec-pub-copy strong { display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font:600 14px/1.45 'Montserrat',sans-serif; }
.wec-pub-open { display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid #ffffff24;font-size:13px;font-weight:600; }
.wec-pub-open span { font-size:18px;line-height:1; }
.wec-pub-none { padding:32px;border:1px dashed #ffffff40;border-radius:14px;text-align:center;color:var(--wec-muted); }
.wec-pub-aside .wec-sidebar-content { padding:22px; }
.wec-pub-back { display:inline-flex;gap:8px;margin-bottom:20px;font-size:13px;text-decoration:underline;text-underline-offset:4px; }
.wec-pub-aside h2 { margin:0 0 16px;font:300 24px/1.3 'Oswald',sans-serif; }
.wec-pub-facts { display:grid;gap:12px;margin:0 0 18px; }
.wec-pub-facts div { padding-bottom:10px;border-bottom:1px solid #ffffff1a; }
.wec-pub-facts dt { margin:0 0 2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#b8c9e4; }
.wec-pub-facts dd { margin:0;font-size:14px;line-height:1.5; }
.wec-pub-text { max-height:42vh;overflow:auto;padding-right:6px;font-size:14px;line-height:1.65;color:#dbe4f1; }
.wec-pub-text p { margin:0 0 10px; }
.wec-pub-steps { display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid #ffffff24; }
.wec-pub-steps a { display:block;padding:10px 12px;border:1px solid #ffffff1f;border-radius:8px;background:#ffffff0d;font-size:13px;line-height:1.4;text-decoration:none; }
.wec-pub-steps a:hover { background:#ffffff1f;color:#fff;text-decoration:none; }
.wec-pub-steps a.is-next { text-align:right; }
.wec-pub-steps small { display:block;margin-bottom:2px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b8c9e4; }
.wec-pub-missing { margin:28px;background:transparent; }
.wec-pub-frame { display:block;width:100%;height:max(720px,80vh);border:0;border-radius:0 0 13px 13px;background:#16191d; }
.wec-pub-panel { border:1px solid #ffffff2e;border-radius:14px;background:#16191deb;box-shadow:0 16px 40px #00000059;overflow:hidden; }
.wec-pub-profile { display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start; }
.wec-pub-person img { display:block;width:100%;height:auto;background:#2a3038; }
.wec-pub-events .wec-course-card > img { aspect-ratio:4/3;object-position:center top; }
.wec-pub-person div { padding:20px 22px 24px; }
.wec-pub-person h1 { margin:0 0 6px;font:300 30px/1.2 'Oswald',sans-serif; }
.wec-pub-person p { margin:0;color:var(--wec-muted);font-size:14px; }
.wec-pub-person .wec-pub-logo { display:block;max-width:180px;max-height:70px;margin-top:18px;padding:10px;border-radius:8px;background:#fff;object-fit:contain;aspect-ratio:auto; }
.wec-pub-video { position:relative;aspect-ratio:16/9;background:#000; }
.wec-pub-video iframe { position:absolute;inset:0;width:100%;height:100%;border:0; }
.wec-pub-bio { padding:24px 28px 28px;font-size:15px;line-height:1.7;color:#dbe4f1; }
.wec-pub-bio h2 { display:none; }
.wec-pub-bio h3, .wec-pub-bio h4 { margin:20px 0 8px;font:600 15px/1.4 'Montserrat',sans-serif;color:#fff; }
.wec-pub-bio ul { padding-left:20px; }
@media (max-width: 1100px) { .wec-pub-profile { grid-template-columns:260px minmax(0,1fr); } }
@media (max-width: 800px) {
    .wec-pub-profile { grid-template-columns:1fr; }
    .wec-pub-person { display:grid;grid-template-columns:120px 1fr;align-items:center; }
    .wec-pub-person div { padding:16px; }
    .wec-pub-count { margin-left:0;width:100%; }
    .wec-pub-frame { height:75vh; }
}
@media (max-width: 540px) {
    .wec-pub-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
    .wec-pub-grid.is-wide { grid-template-columns:1fr; }
    .wec-pub-copy { padding:12px; }
    .wec-pub-copy strong { font-size:13px; }
    .wec-pub-group-title { font-size:24px; }
    .wec-pub-bio { padding:18px; }
}
.wec-pub-kicker { margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#b8c9e4; }
