.pplogin{--ink:#170029;--night:#21003A;--plum:#3C005A;--lilac:#C9B8DA;--acc:#C8F031;--paper:#FFFDF6;
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);box-sizing:border-box;
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;
  padding:72px max(20px,calc((100vw - 1180px) / 2));min-height:640px;color:#EDE6F5;position:relative;overflow:hidden;
  background:radial-gradient(70% 90% at 30% 40%,#5a1a86 0%,#2B0048 60%,#21003A 100%);font-family:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}
.pplogin::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask:radial-gradient(60% 70% at 30% 40%,#000,transparent);mask:radial-gradient(60% 70% at 30% 40%,#000,transparent);pointer-events:none}
.pplogin *{box-sizing:border-box}
.pplogin__lado{position:relative}
.pplogin h2{font:900 clamp(38px,5vw,68px)/1.02 "Unbounded","Arial Black",sans-serif;letter-spacing:-.03em;color:#fff;margin:0;padding:0}
.pplogin h2 span{display:block;animation:pplogin-sube .8s cubic-bezier(.23,1,.32,1) both}
.pplogin h2 .g{color:var(--acc);animation-delay:.12s}
.pplogin__lado>p{margin:18px 0 0;padding:0;color:var(--lilac);font-size:18px;max-width:38ch}
.pplogin__escena{position:relative;height:230px;margin-top:28px;perspective:1100px}
.pplogin__caja{--w:250px;--h:156px;--d:30px;position:absolute;width:var(--w);height:var(--h);transform-style:preserve-3d;animation:pplogin-flota 6s ease-in-out infinite}
.pplogin__caja .f{position:absolute;inset:0;border-radius:10px;overflow:hidden;background:var(--plum);transform:translateZ(calc(var(--d) / 2));box-shadow:0 30px 50px -30px rgba(0,0,0,.8)}
.pplogin__caja .f img{width:100%;height:100%;object-fit:cover}
.pplogin__caja .s{position:absolute;top:0;left:calc(var(--w) - var(--d) / 2);width:var(--d);height:100%;background:var(--ink);transform:rotateY(90deg);border-radius:4px}
.pplogin__caja .t{position:absolute;left:0;top:calc(var(--d) / -2);width:100%;height:var(--d);background:#561a7f;transform:rotateX(90deg);border-radius:4px}
.pplogin__caja.c0{left:0;top:40px;transform:rotateY(-26deg) rotateX(8deg)}
.pplogin__caja.c1{left:170px;top:0;transform:rotateY(-26deg) rotateX(8deg) scale(.82);animation-delay:-2s;opacity:.9}
.pplogin__caja.c2{left:320px;top:60px;transform:rotateY(-26deg) rotateX(8deg) scale(.66);animation-delay:-4s;opacity:.75}
.pplogin__caras{display:flex;align-items:center;gap:14px;margin-top:10px}
.pplogin__caras .fotos{display:flex}
.pplogin__caras img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:3px solid #2B0048;margin-left:-12px;background:var(--plum)}
.pplogin__caras img:first-child{margin-left:0}
.pplogin__caras span{font-size:14px;color:var(--lilac)}
.pplogin__hoja{background:var(--paper);color:var(--ink);border-radius:24px;padding:40px 34px 30px;position:relative;transform:rotate(1deg);box-shadow:0 40px 70px -40px rgba(0,0,0,.9);animation:pplogin-sube .8s cubic-bezier(.23,1,.32,1) .2s both}
.pplogin__hoja::before{content:"";position:absolute;top:-14px;left:50%;width:120px;height:28px;margin-left:-60px;background:rgba(200,240,49,.92);transform:rotate(-2deg);border-radius:3px}
.pplogin__hoja .tutor-login-form-wrapper,.pplogin__hoja .tutor-login-wrap{max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;background:transparent!important}
.pplogin .pplogin__saludo{font:800 26px/1.1 "Unbounded","Arial Black",sans-serif!important;letter-spacing:-.02em!important;color:var(--ink)!important;margin:0 0 22px!important}
.pplogin__hoja input[name=log],.pplogin__hoja input[type=tel],.pplogin__hoja input[type=text],.pplogin__hoja input[type=email],.pplogin__hoja input[type=password]{width:100%;border-radius:14px!important;border:2px solid #E6DDF0!important;background:#fff!important;padding:14px 16px!important;font-size:16px!important;color:var(--ink)!important}
.pplogin__hoja input:focus{border-color:#4A12D6!important;box-shadow:0 0 0 4px rgba(74,18,214,.12)!important;outline:none}
.pplogin__hoja button[type=submit],.pplogin__hoja input[type=submit]{background:var(--ink)!important;color:var(--acc)!important;border:0!important;border-radius:999px!important;padding:16px 22px!important;font-weight:800!important;font-size:16px!important;transition:transform .16s,background-color .16s}
.pplogin__hoja button[type=submit]:hover{background:#3C005A!important;transform:translateY(-2px)}
.pplogin__hoja a{color:#4A12D6}
.pplogin__registro{margin:22px 0 0!important;padding:16px 0 0!important;border-top:2px dashed #E6DDF0;text-align:center;color:#5E5270;font-size:15px}
.pplogin__registro a{font-weight:800;color:#4A12D6}
@keyframes pplogin-sube{from{opacity:0;transform:translateY(18px)}to{opacity:1}}
@keyframes pplogin-flota{0%,100%{translate:0 0}50%{translate:0 -10px}}
@media (max-width:900px){
  .pplogin{grid-template-columns:1fr;gap:30px;padding:40px 16px;min-height:0}
  .pplogin__escena{display:none}
  .pplogin h2{font-size:34px}
  .pplogin__lado>p{font-size:16px}
  .pplogin__hoja{transform:none;padding:32px 20px 24px}
}
@media (prefers-reduced-motion:reduce){.pplogin *{animation:none!important;transition:none!important}}

/* Contenedores que envuelven el login: sin recuadro ni márgenes, y sin barra horizontal */
html.pplogin-on,html.pplogin-on body{overflow-x:clip}
.pplogin-padre{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;max-width:none!important;width:100%!important;min-height:0!important;float:none!important;left:auto!important;transform:none!important}

/* Sin barra lateral ni título de página de Divi alrededor del login y el registro */
html.pplogin-on #sidebar{display:none!important}
html.pplogin-on #left-area{width:100%!important;float:none!important;padding:0!important;margin:0!important}
html.pplogin-on #main-content .container::before{display:none!important}
html.pplogin-on #main-content .container{width:100%!important;max-width:none!important;padding-top:0!important}
html.pplogin-on .main_title,html.pplogin-on .et_post_meta_wrapper,html.pplogin-on .entry-title{display:none!important}

/* Registro */
.pplogin--registro{align-items:start}
.pplogin--registro .pplogin__lado{padding-top:40px}
.pplogin__lista{list-style:none!important;margin:26px 0 22px!important;padding:0!important;display:grid;gap:12px}
.pplogin__lista li{position:relative;padding:0 0 0 34px!important;color:var(--mist,#EDE6F5);font-size:17px;line-height:1.45}
.pplogin__lista li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23170029' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.pplogin__lista b{color:#fff}
.pplogin--registro .pplogin__hoja{transform:rotate(-.6deg)}
.pplogin--registro .tutor-registration-wrap,.pplogin--registro .tutor-template-segment,.pplogin--registro #tutor-registration-form{max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;background:transparent!important}
.pplogin--registro .tutor-form-row{display:flex!important;flex-wrap:wrap;gap:0 14px;margin:0!important}
.pplogin--registro [class*="tutor-form-col"]{flex:1 1 200px!important;max-width:none!important;width:auto!important;padding:0!important}
.pplogin--registro .tutor-form-group{margin-bottom:14px!important}
.pplogin--registro label{display:block;font-weight:700!important;font-size:14px!important;color:var(--ink)!important;margin:0 0 6px!important}
.pplogin--registro .ppro-acepto{margin:6px 0 18px;font-size:14px;line-height:1.45;color:#5E5270}
.pplogin--registro .ppro-acepto label{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important;color:#5E5270!important}
.pplogin--registro .ppro-acepto input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:#4A12D6}
.pplogin--registro button[type=submit],.pplogin--registro input[type=submit]{width:100%}
.pplogin--registro .tutor-alert,.pplogin--registro .tutor-alert-warning{border-radius:14px!important}
@media (max-width:900px){.pplogin--registro .pplogin__lado{padding-top:0}.pplogin__lista{margin:18px 0 0!important}}

/* Con los contenedores ya sueltos, el bloque ocupa el 100 % sin cálculos con 100vw (evita que se corra en celular) */
html.pplogin-on .pplogin{width:100%;margin-left:0;margin-right:0}
.pplogin__hoja{min-width:0;max-width:100%}
.pplogin__hoja .tutor-login-form-wrapper,.pplogin__hoja .tutor-login-wrap,.pplogin__hoja form{width:auto!important;max-width:100%!important;min-width:0!important}
.pplogin__hoja h1,.pplogin__hoja h2,.pplogin__hoja h3,.pplogin__hoja .tutor-fs-5,.pplogin__hoja .tutor-fs-4,.pplogin__hoja .tutor-fs-3{overflow-wrap:anywhere}
@media (max-width:900px){html.pplogin-on .pplogin{padding:32px 16px 40px}.pplogin__lado>p{max-width:none}.pplogin .pplogin__saludo{font-size:22px!important}}
