/* CEDVA MotoPro — Edición visual 02. Solo cambia presentación, no Auth ni Firestore.
   Contrastes probados: fondo oscuro, textos claros, tarjetas con separación visible. */
:root {
  --mn-dark:#0c1016;
  --mn-ink:#f4f6fa;
  --mn-muted:#a9b1be;
  --mn-line:#2b3340;
  --mn-paper:#0c1016;
  --mn-red:#e4384b;
  --mn-white:#f9fafc;
  --cedva-surface:#151b24;
  --cedva-elevated:#1b222d;
}
html{scroll-behavior:smooth}
body,#app{background:var(--mn-paper)!important;color:var(--mn-ink);-webkit-font-smoothing:antialiased}
#app{min-height:58vh}
.minimal-wrap{width:min(1190px,calc(100% - 64px));margin-inline:auto}
/* Identity / navigation */
.campus-header.minimal-header{background:#0d1117!important;border-bottom:1px solid #232a35!important;position:sticky!important;top:0!important;z-index:150!important;box-shadow:0 10px 28px #0003!important}
.minimal-header .minimal-header-inner{height:85px;min-height:85px;gap:30px}
.minimal-header .minimal-brand{height:81px;display:flex;align-items:center;flex-shrink:0;overflow:visible;margin-right:auto}
.minimal-header .minimal-brand img{display:block;width:196px;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 10px #0004)}
.campus-header .minimal-nav{gap:32px}
.campus-header .minimal-nav a{color:#c2c9d3!important;font-size:13px!important;font-weight:600!important}
.campus-header .minimal-nav a:hover,.campus-header .minimal-nav a[aria-current="page"]{color:#fff!important}
.minimal-header-cta{background:#e4384b!important;color:#fff!important;font-weight:750!important;border:1px solid #e4384b;border-radius:9px;padding:12px 19px!important;font-size:12px!important}
.minimal-header-cta:hover{background:#c6263b!important;border-color:#c6263b}
.minimal-menu span{background:#f4f5f7}
/* Hero: actual video gets visual priority within the first section. */
.minimal-hero{background:radial-gradient(ellipse 75% 90% at 80% 0%,#241b27 0%,transparent 75%),linear-gradient(125deg,#0b1016,#111720 65%,#0b1016);color:#f9fafc;isolation:isolate}
.minimal-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:linear-gradient(90deg,#ffffff33 1px,transparent 1px),linear-gradient(#ffffff33 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 20%,#000)}
.minimal-hero-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(300px,.89fr);gap:clamp(35px,5vw,86px);align-items:center;min-height:760px;padding-top:55px;padding-bottom:65px;position:relative;z-index:1}
.minimal-hero .minimal-hero-inner{padding:15px 0;min-width:0}
.minimal-kicker{color:#bdc5cf;font-size:11px;letter-spacing:.16em}
.minimal-kicker-sep{color:#e4384b}
.minimal-hero h1{max-width:740px;color:#fff;font-size:clamp(55px,5.3vw,84px);line-height:1.035;letter-spacing:-.075em;margin:29px 0 23px;font-weight:800}
.minimal-hero h1 em{color:#f04c60;display:inline}
.minimal-hero p{color:#bfc5cf;max-width:555px;font-size:16px;line-height:1.72;margin-bottom:31px}
.minimal-hero-bottom{margin-top:68px;gap:25px;border-color:#323945;color:#8993a2;letter-spacing:.13em}
.minimal-wave{display:none}
.minimal-button{border-radius:8px;min-height:49px;font-size:13px;transition:background .18s,transform .18s}
.minimal-button:hover{transform:translateY(-1px)}
.minimal-button-red{background:#e4384b!important;border-color:#e4384b!important;color:#fff!important}
.minimal-button-red:hover{background:#be2439!important}
.minimal-text-link{color:#e3e6ec;border-color:#596271;font-size:13px}
.minimal-text-link:hover{color:#fff}
.minimal-hero-feature{width:min(100%,440px);justify-self:center;min-width:0;padding:19px 19px 17px;background:#161c25;border:1px solid #323845;border-radius:17px;box-shadow:0 25px 90px #0005}
.minimal-video-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;font-weight:800;letter-spacing:.07em;color:#b0b8c4;margin-bottom:16px}
.minimal-video-live{color:#fff;display:flex;align-items:center;gap:9px}
.minimal-video-live i,.minimal-gate-video-top i{width:7px;height:7px;border-radius:50%;background:#e4384b;display:inline-block;box-shadow:0 0 0 4px #e4384b1b}
.minimal-video-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:17px;border-top:1px solid #303743;padding-top:14px}
.minimal-video-caption strong{font-size:13px;color:#fff;font-weight:700;display:block}
.minimal-video-caption span{font-size:11px;display:block;color:#a6b0bd;margin-top:5px}
.minimal-video-caption>a{color:#fff;border:1px solid #444d5a;text-decoration:none;width:35px;height:35px;border-radius:9px;display:grid;place-items:center;flex:none}
.minimal-video-caption>a:hover{border-color:#e4384b;background:#e4384b}
/* TikTok — native player framed visibly, with brand-appropriate fallback poster. */
[data-cedva-video-host]{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.cedva-video-stage{width:min(100%,305px);aspect-ratio:9/15;min-height:0;position:relative;background:#090d13;border-radius:15px;overflow:hidden;border:1px solid #343c48;box-shadow:0 18px 50px #0007;margin-inline:auto}
.cedva-video-placeholder{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:space-between;color:#f7f8fa;text-align:center;overflow:hidden;padding:20px 15px 23px;background:radial-gradient(circle at 50% 45%,#2a1d29 0%,#121720 55%,#0b0e13 100%)}
.cedva-video-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#ea3f5220 1px,transparent 1px),linear-gradient(90deg,#ea3f5220 1px,transparent 1px);background-size:33px 33px;opacity:.18;pointer-events:none}
.cedva-video-poster-heading{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:8px;letter-spacing:.11em;color:#b2bac6;font-weight:800}
.cedva-video-poster-logo{position:relative;display:block;max-width:90%;width:240px;max-height:110px;object-fit:contain;filter:drop-shadow(0 8px 24px #0006);margin-top:auto}
.cedva-video-poster-message{position:relative;font-size:14px;line-height:1.48;font-weight:850;letter-spacing:-.025em;margin-top:22px;color:#fff}
.cedva-video-poster-message em{font-style:normal;color:#ed5364}
.cedva-video-play{position:relative;display:flex;align-items:center;flex-direction:column;gap:13px;background:none;border:0;color:#fff;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-weight:750;font-size:12px;padding:18px 12px;margin:auto 0}
.cedva-play-symbol{display:grid;place-items:center;font-size:18px;padding-left:3px;background:#e4384b;width:66px;height:66px;border-radius:50%;box-shadow:0 10px 38px #e4384b55;transition:transform .2s,background .2s}
.cedva-video-play:hover .cedva-play-symbol{transform:scale(1.07);background:#ef5364}
.cedva-video-play:focus-visible{outline:2px solid #ff5d6c;outline-offset:3px;border-radius:8px}
.cedva-video-poster-footer{position:relative;display:flex;justify-content:space-between;gap:6px;align-items:center;border-top:1px solid #ffffff26;padding-top:14px;width:100%;font-weight:800;letter-spacing:.04em;color:#c3c8d0;font-size:8px}
.cedva-video-frame{position:absolute;inset:0;display:none;background:#090d13}
.cedva-video-live .cedva-video-placeholder{display:none}
.cedva-video-live .cedva-video-frame{display:block}
.cedva-video-frame iframe{border:0;width:100%;height:100%;display:block;background:#090d13}
.cedva-video-external{display:block;font-size:10px;color:#b9c3d0!important;text-decoration:none;border-bottom:1px solid #536072;padding-bottom:3px;margin-top:6px}
.cedva-video-external:hover{color:#fff!important;border-color:#fff}
/* Course and about sections - unified dark instead of white-on-white branding. */
.minimal-course-section{background:#111721;padding:92px 0;border-top:1px solid #252c38}
.minimal-course-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(45px,7vw,110px)}
.minimal-course-heading h2{color:#fafbfd}
.minimal-section-tag{color:#f04b5f;font-size:10px}
.minimal-course-heading>p{color:#adb7c4;font-size:15px}
.minimal-feature-line{border-color:#333c49}
.minimal-feature-line span{border-color:#333c49;color:#d5dbe4;font-size:13px}
.minimal-course-card{background:#1a212d;border-color:#343d4b;border-radius:15px;padding:36px}
.minimal-course-card-head{color:#aeb8c6}
.minimal-status{color:#d3dbe5}
.minimal-course-card h3{color:#f3f5f8}
.minimal-course-card>p{color:#acb6c4}
.minimal-course-date{border-color:#343d49}
.minimal-course-date small{color:#9aa6b4}
.minimal-course-date strong{color:#f7f8fb}
.minimal-course-card .minimal-button-dark{background:#e4384b!important;border-color:#e4384b!important;color:#fff!important}
.minimal-announcement{color:#ced2db}
.minimal-about{background:#0e131a!important;border-color:#29313d!important}
.minimal-about-inner{border-color:#333b47!important}
.minimal-about-inner>span{color:#f04b5f!important}
.minimal-about-inner>p{color:#eceff3!important}
.minimal-about-inner>a{color:#fff!important}
/* Social: link tiles on dark, ensure letters and icons always visible */
#app .launch-social{background:#0c1016!important;border-top:1px solid #27313e!important;padding:76px max(32px,calc((100vw - 1190px)/2))!important;color:#f5f7fa!important}
#app .launch-social-heading h2{color:#f5f7fa!important;font-size:clamp(25px,2.9vw,34px)!important}
#app .launch-social-heading .eyebrow{color:#f04b5f!important}
#app .launch-social-links{border-color:#303a48!important}
#app .launch-social-links a{background:#111721!important;color:#f5f7fb!important;border-color:#303a48!important}
#app .launch-social-links a:hover{background:#1b222c!important}
#app .launch-social-links a b{color:#f5f7fb!important}
#app .launch-social-links a small{color:#a5afbc!important}
#app .launch-social-links a .social-symbol{color:#ee4c60!important}
#app .launch-social-links a>span:last-child{color:#e6e8ec!important}
/* Campus login: form and video in balanced columns, no white logos on white cards. */
.minimal-student-gate,.minimal-campus{background:#0e131a!important;padding:68px 0 90px;min-height:calc(100vh - 80px)}
.minimal-gate-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.86fr);gap:clamp(35px,6vw,95px);align-items:start}
.minimal-student-gate h1,.minimal-campus-welcome h1{color:#f5f7fa!important;font-size:clamp(40px,4.7vw,65px);line-height:1.08;max-width:720px}
.minimal-student-gate h1 em{color:#f04b5f!important}
.minimal-student-gate .minimal-gate-left>p,.minimal-campus-welcome p{color:#aeb8c5!important;font-size:15px;line-height:1.68;max-width:570px}
.minimal-gate-panel{margin-top:33px;max-width:530px}
#app .minimal-gate-panel>.panel,#app .px-registration-panel,#app .px-form-shell{background:#171d27!important;border:1px solid #343e4c!important;color:#edf1f6!important;border-radius:14px!important;box-shadow:0 18px 44px #05070b30!important}
#app .minimal-gate-panel>.panel{padding:32px 34px!important}
#app .minimal-gate-panel .campus-brand{width:213px!important;max-width:100%;height:auto!important;margin:0 0 10px;display:block}
#app .minimal-gate-panel h2,#app .px-registration-panel h2{color:#fafbfd!important;font-size:27px;letter-spacing:-.045em}
#app .minimal-gate-panel p,#app .px-registration-panel p{color:#adb8c6!important}
#app .minimal-gate-panel label,#app .px-registration-panel label{color:#e0e5ec!important}
#app .minimal-gate-panel .auth-divider{color:#b6bec9}
#app .minimal-gate-panel .auth-divider:before,#app .minimal-gate-panel .auth-divider:after{background:#3e4755}
#app .minimal-gate-panel input:not([type=checkbox]),#app .px-registration-panel input:not([type=checkbox]),#app .px-registration-panel select,#app .px-registration-panel textarea{background:#0e141e!important;border:1px solid #455163!important;color:#f6f7fa!important;box-shadow:none!important;border-radius:8px!important}
#app .minimal-gate-panel input::placeholder,#app .px-registration-panel input::placeholder{color:#8b99aa!important}
#app .minimal-gate-panel .button.red,#app .px-form-shell .button.red,#app .px-form-shell .px-btn-primary{background:#e4384b!important;border-color:#e4384b!important;color:#fff!important;border-radius:8px!important}
#app .minimal-gate-panel .button:not(.red){color:#f5f6fa;background:#262d38;border:1px solid #45505f}
#app .minimal-gate-panel .sub,#app .px-form-shell .sub{color:#a8b4c2!important}
.minimal-gate-right{background:#151b24;border:1px solid #333c49;border-radius:15px;padding:27px 23px 25px;display:flex;align-items:center;flex-direction:column;min-width:0;box-shadow:0 20px 55px #0003}
.minimal-gate-video-top{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#e5e9ef;font-size:10px;font-weight:750;letter-spacing:.055em}
.minimal-gate-video-top span{display:flex;align-items:center;gap:9px}
.minimal-gate-video-top a{color:#abb9c9;text-decoration:none;white-space:nowrap;letter-spacing:0;font-size:10px}
.minimal-gate-video-top a:hover{color:#fff}
.minimal-gate-right h2{color:#fff!important;margin:22px 0 20px;font-size:25px;letter-spacing:-.045em;font-weight:800;text-align:center}
.minimal-gate-right>p{color:#9ba8b9;font-size:11px;margin-top:13px;text-align:center}
.minimal-gate-right .cedva-video-stage{width:min(100%,288px)}
.minimal-campus-course,.minimal-campus-resource,.minimal-community,.minimal-campus-account{background:#171d27!important;border-color:#343e4c!important;color:#eef1f5!important;border-radius:13px!important}
.minimal-campus-course h2,.minimal-campus-resource h3,.minimal-community h3,.minimal-account-head h3{color:#f4f6fb!important}
.minimal-campus-course>p,.minimal-campus-resource p,.minimal-account-row span{color:#afbac8!important}
.minimal-campus-facts,.minimal-account-row{border-color:#384454!important}
.minimal-campus-facts strong{color:#f6f7fa!important}
.minimal-campus-facts small,.minimal-campus-resource small,.minimal-community small,.minimal-account-head small{color:#a2aebc!important}
.minimal-campus-action>span,.minimal-topics{background:#101721!important;border-color:#343e4c!important;color:#c5cedb!important}
.minimal-topics h3{color:#f2f4f7}.minimal-topics p{color:#b8c3d0}
.minimal-enrolled{background:#182721;border-color:#315d4d;color:#b9e7ce}
.minimal-account-edit{color:#f3f6fa!important;border-color:#455164}.minimal-account-edit:hover{background:#26303d}
.minimal-logout{color:#b5bfcb}.minimal-avatar{background:#3a202b;color:#ff7686}
.minimal-community a{color:#fa6476}
/* Registration and profile preserve all form inputs, but use proper contrast. */
#app .px-registration-area{background:#0e131a!important;padding:80px 0 105px}
#app .px-registration-copy h1{color:#f6f7fb!important}
#app .px-registration-copy>p{color:#b5bfcb!important}
#app .px-back-link{color:#dce1ea!important}
#app .px-registration-copy .px-section-kicker{color:#f25265}
#app .px-form-shell{padding:0!important}
#app .px-form-shell .panel{max-width:none}
#app .px-registration-panel .verified-email{color:#d9e0ec!important;background:#101722!important}
#app .px-registration-panel .check span{color:#d8dfe8!important}
#app .px-registration-panel a{color:#ff8190}
#app .px-registration-panel .phone-field{background:#101722!important;border-color:#424d5d!important}
#app .px-registration-panel .phone-field span{color:#fff}
/* Footer */
.minimal-footer{background:#090d12!important;border-top:1px solid #28313c;padding:43px 0 29px}
.minimal-footer-social a{color:#c5ced9}.minimal-footer-social a:hover{color:#fff}
.minimal-footer-end{border-color:#28313c}
/* Privacy / admin retain light panels with readable conventional forms */
#app>.page-title,#app>.section,#app>.page-title~.section{background:#f5f6f8;color:#222831}
#app>.page-title h1,#app>.section h2,#app>.section h3{color:#1e252e}
@media(max-width:1050px){
 .minimal-hero-layout{gap:32px;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)}
 .minimal-hero h1{font-size:clamp(48px,6.1vw,65px)}
 .minimal-gate-layout{gap:35px;grid-template-columns:minmax(0,1fr) minmax(305px,.82fr)}
}
@media(max-width:760px){
 .minimal-wrap{width:min(100% - 40px,1190px)}
 .minimal-header .minimal-header-inner{height:70px;min-height:70px;gap:13px}
 .minimal-header .minimal-brand{height:68px}
 .minimal-header .minimal-brand img{width:153px}
 .minimal-header-cta{padding:11px 12px!important;font-size:11px!important;gap:5px}
 .campus-header .minimal-nav{background:#161b24!important;border-color:#303846!important;left:-20px!important;right:-20px!important;top:calc(100% + 1px)!important}
 .campus-header .minimal-nav a{color:#e3e7ee!important;border-bottom-color:#2e3642!important}
 .minimal-menu{display:flex}
 .minimal-hero-layout{grid-template-columns:1fr;gap:37px;min-height:0;padding-top:45px;padding-bottom:55px}
 .minimal-hero .minimal-hero-inner{padding:0}
 .minimal-hero h1{max-width:630px;font-size:clamp(46px,9.2vw,69px);margin:25px 0 22px}
 .minimal-hero p{max-width:570px;font-size:15px}
 .minimal-hero-bottom{margin-top:34px;gap:14px 22px}
 .minimal-hero-feature{width:min(100%,480px);justify-self:center;padding:18px}
 .cedva-video-stage{width:min(100%,312px)}
 .minimal-course-layout{grid-template-columns:1fr;gap:33px}
 .minimal-course-section{padding:67px 0}
 .minimal-course-card{padding:28px}
 .minimal-gate-layout{grid-template-columns:1fr;gap:34px}
 .minimal-student-gate{padding-top:48px}
 .minimal-gate-right{width:min(100%,510px);margin-inline:auto}
 .minimal-campus{padding-top:47px}
 #app .px-registration-area{padding:50px 0 70px}
 #app .launch-social{padding:57px 20px!important}
 #app .launch-social-links a{background:#111721!important}
 #app .launch-social-links a:nth-child(-n+2){border-color:#303a48!important}
 .minimal-footer-inner{grid-template-columns:1fr}
}
@media(max-width:440px){
 .minimal-header .minimal-brand img{width:135px}
 .minimal-header .minimal-header-inner{gap:6px}
 .minimal-header-cta{padding:10px 9px!important;font-size:10px!important}
 .minimal-hero h1{font-size:clamp(43px,11vw,53px);line-height:1.07}
 .minimal-hero-actions{gap:20px}
 .minimal-video-meta{font-size:9px}
 .minimal-video-caption strong{font-size:12px}
 .minimal-student-gate h1{font-size:clamp(39px,10vw,50px)}
 #app .minimal-gate-panel>.panel{padding:24px 19px!important}
 .minimal-gate-right{padding:20px 13px}
 .minimal-course-card{padding:22px}
 .minimal-campus-welcome{margin-bottom:24px}
 .minimal-campus-course{padding:23px!important}
 .minimal-campus-resource,.minimal-community{padding:21px!important}
 .minimal-header .minimal-brand{height:63px}
}
@media(prefers-reduced-motion:reduce){.minimal-hero,.minimal-button,.cedva-play-symbol{transition:none!important}}
/* Evitar que la hoja heredada convierta el texto del botón de video en otro círculo rojo. */
.cedva-video-play>span:last-child{display:block!important;width:auto!important;height:auto!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;color:#f9fafc!important;font-size:12px!important;line-height:1.35!important;white-space:nowrap!important}
.cedva-video-play>.cedva-play-symbol{display:grid!important;place-items:center!important;background:#e4384b!important;width:66px!important;height:66px!important;border-radius:50%!important;padding-left:3px!important;box-shadow:0 10px 38px #e4384b55!important}
