/* Landing de registro de proveedores */

/* ---------- Beneficios ---------- */
.reg-first{padding-top:170px!important}
@media (max-width:991px){.reg-first{padding-top:140px!important}}
.reg-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0;margin:0}
@media (max-width:991px){.reg-grid-3{grid-template-columns:1fr}}
.reg-card{background:var(--tp-gray-1);border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:10px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .25s}
.reg-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.08);background:#fff}
.reg-card-icon{width:56px;height:56px;border-radius:50%;background:#fff;color:var(--tp-theme-1);display:flex;align-items:center;justify-content:center;margin-bottom:6px;box-shadow:0 6px 18px rgba(0,0,0,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.reg-card:hover .reg-card-icon{transform:rotate(-8deg) scale(1.06)}
.reg-card h3{font-size:22px;line-height:1.2;font-weight:600;margin:0;color:var(--tp-common-black)}
.reg-card p{margin:0;color:#666;font-size:14px;line-height:17px}

/* ---------- Formulario a pantalla completa ---------- */
.reg-full{position:relative;min-height:100vh;background:#0D0D0D;color:#fff;overflow:hidden;display:flex;align-items:center;padding:120px 0 80px}
.reg-full-inner{position:relative;z-index:1;width:100%;max-width:820px;margin:0 auto;padding:0 24px}

/* Destellos de fondo que se mueven despacio */
.reg-glow{position:absolute;inset:0;pointer-events:none}
.reg-glow span{position:absolute;width:620px;height:620px;border-radius:50%;filter:blur(110px);opacity:.28}
.reg-glow span:nth-child(1){background:#FF0351;top:-220px;left:-160px;animation:regDrift1 18s ease-in-out infinite alternate}
.reg-glow span:nth-child(2){background:#FF8A00;bottom:-260px;right:-180px;opacity:.22;animation:regDrift2 22s ease-in-out infinite alternate}
@keyframes regDrift1{to{transform:translate(160px,120px) scale(1.15)}}
@keyframes regDrift2{to{transform:translate(-140px,-110px) scale(1.1)}}

/* Encabezado y progreso */
.reg-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:14px;color:rgba(255,255,255,.6)}
.reg-top-label{letter-spacing:.4px}
.reg-count{font-variant-numeric:tabular-nums;color:#fff;font-weight:500}
.reg-progress-bar{height:4px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;margin-bottom:60px}
.reg-progress-bar span{display:block;height:100%;width:11%;background:linear-gradient(90deg,#FF0351,#FF8A00);border-radius:4px;transition:width .6s cubic-bezier(.2,.7,.2,1)}
@media (max-width:575px){.reg-progress-bar{margin-bottom:40px}}

/* Pantallas */
#reg-form{position:relative}
.reg-step{display:none;border:0;padding:0;margin:0;min-width:0}
.reg-step.is-active{display:block}
.reg-step.is-active > *{animation:regRise .55s cubic-bezier(.2,.7,.2,1) both}
.reg-step.is-active > *:nth-child(3){animation-delay:.07s}
.reg-step.is-active > *:nth-child(4){animation-delay:.14s}
.reg-step.is-active > *:nth-child(5){animation-delay:.21s}
.reg-step.is-active > *:nth-child(6){animation-delay:.28s}
#reg-form.is-back .reg-step.is-active > *{animation-name:regDrop}
@keyframes regRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes regDrop{from{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:none}}

/* Pregunta */
.reg-q{margin-bottom:34px}
.reg-q-num{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#FF5A6E;font-size:15px;font-weight:600}
.reg-q-num svg{width:7px;height:12px}
.reg-q-title{color:#fff;font-size:44px;line-height:50px;font-weight:600;letter-spacing:-1.2px;margin:0}
.reg-q-hint{margin:12px 0 0;color:rgba(255,255,255,.6);font-size:17px;line-height:24px}
@media (max-width:767px){.reg-q-title{font-size:30px;line-height:36px;letter-spacing:-.6px}.reg-q-hint{font-size:15px;line-height:21px}}

/* Campos */
.reg-field{margin-bottom:26px}
.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
@media (max-width:575px){.reg-row{grid-template-columns:1fr}}
.reg-label{display:block;font-size:15px;color:rgba(255,255,255,.7);margin-bottom:12px}
.reg-field input[type=text],.reg-field input[type=tel],.reg-field input[type=email],.reg-field input[type=url],.reg-field input[type=number],.reg-field textarea{width:100%;padding:10px 0 12px;border:0;border-bottom:2px solid rgba(255,255,255,.22);border-radius:0;background:transparent;color:#fff;font-size:24px;line-height:32px;transition:border-color .3s}
.reg-field textarea{font-size:20px;line-height:28px;resize:vertical;min-height:120px}
.reg-field input::placeholder,.reg-field textarea::placeholder{color:rgba(255,255,255,.32)}
.reg-field input:focus,.reg-field textarea:focus{outline:none;border-bottom-color:#FF5A6E}
.reg-field input[type=number]{-moz-appearance:textfield}
.reg-field input[type=number]::-webkit-outer-spin-button,.reg-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media (max-width:767px){.reg-field input[type=text],.reg-field input[type=tel],.reg-field input[type=email],.reg-field input[type=url],.reg-field input[type=number]{font-size:20px;line-height:28px}.reg-field textarea{font-size:17px;line-height:24px}}
.reg-counter{display:block;margin-top:8px;font-size:13px;color:rgba(255,255,255,.5);transition:color .3s}
.reg-counter.is-ok{color:#7CE3A8}

/* Precio */
.reg-money{display:flex;align-items:baseline;gap:8px;border-bottom:2px solid rgba(255,255,255,.22);transition:border-color .3s;max-width:320px}
.reg-money:focus-within{border-bottom-color:#FF5A6E}
.reg-money span,.reg-money em{font-size:24px;color:rgba(255,255,255,.6);font-style:normal}
.reg-money em{font-size:15px}
.reg-field .reg-money input{border-bottom:0!important}

/* Opciones grandes (categoría) */
.reg-options{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:575px){.reg-options{grid-template-columns:1fr}}
.reg-option{position:relative;margin:0;cursor:pointer}
.reg-option input{position:absolute;opacity:0;pointer-events:none}
.reg-option span{display:flex;align-items:center;gap:16px;min-height:76px;padding:16px 20px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.04);font-size:19px;font-weight:500;color:#fff;transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s,background .25s,color .25s,box-shadow .25s}
.reg-option span i{width:42px;height:42px;flex:none;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.reg-option span i svg{width:22px;height:22px}
.reg-option:hover span{border-color:rgba(255,255,255,.45);transform:translateY(-2px)}
.reg-option:active span{transform:scale(.98)}
.reg-option input:checked + span{background:#fff;color:#0D0D0D;border-color:#fff;box-shadow:0 12px 30px rgba(255,3,81,.25)}
.reg-option input:checked + span i{background:linear-gradient(135deg,#FF0351,#FF8A00);color:#fff}
.reg-option input:focus-visible + span{box-shadow:0 0 0 3px rgba(255,90,110,.6)}

/* Chips */
.reg-checks{display:flex;flex-wrap:wrap;gap:10px}
.reg-check{position:relative;margin:0;cursor:pointer}
.reg-check input{position:absolute;opacity:0;pointer-events:none}
.reg-check span{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid rgba(255,255,255,.2);border-radius:100px;background:rgba(255,255,255,.04);font-size:15px;color:#fff;transition:transform .2s cubic-bezier(.2,.7,.2,1),background .2s,color .2s,border-color .2s}
.reg-check span::before{content:"";width:0;height:10px;border:solid #0D0D0D;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);opacity:0;transition:width .2s,opacity .2s;margin-right:-8px}
.reg-checks.is-radio .reg-check span::before{display:none}
.reg-check:hover span{border-color:rgba(255,255,255,.5)}
.reg-check:active span{transform:scale(.95)}
.reg-check input:checked + span{background:#fff;color:#0D0D0D;border-color:#fff}
.reg-check input:checked + span::before{width:5px;opacity:1;margin-right:0}
.reg-check input:focus-visible + span{box-shadow:0 0 0 3px rgba(255,90,110,.6)}

/* Consentimiento */
.reg-consent{display:flex;gap:14px;align-items:flex-start;margin-top:8px;font-size:15px;line-height:21px;color:rgba(255,255,255,.75);cursor:pointer}
.reg-consent input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:#FF0351}

/* Errores */
.reg-field.has-error input,.reg-field.has-error textarea,.reg-field.has-error .reg-money{border-bottom-color:#FF5A6E}
.reg-field.has-error .reg-options,.reg-field.has-error .reg-checks{animation:regShake .4s}
.reg-consent.has-error span{color:#FF8A9A}
.reg-field-msg{display:block;margin-top:10px;font-size:14px;color:#FF8A9A;animation:regRise .3s both}
@keyframes regShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.reg-error{margin:6px 0 0;font-size:14px;color:#FF8A9A}

/* Honeypot anti-spam */
.reg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Navegación */
.reg-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:34px}
.reg-nav-right{display:flex;align-items:center;gap:18px;margin-left:auto}
.reg-enter{font-size:13px;color:rgba(255,255,255,.5)}
.reg-enter kbd{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border-radius:6px;padding:3px 7px;font-size:12px;font-family:inherit}
@media (hover:none),(max-width:767px){.reg-enter{display:none}}
.reg-next{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:100px;padding:17px 28px;background:linear-gradient(90deg,#FF0351,#FF8A00);background-size:160% 100%;background-position:0 0;color:#fff;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 10px 30px rgba(255,3,81,.3);transition:background-position .4s,transform .2s,box-shadow .3s}
.reg-next:hover{background-position:100% 0;color:#fff;transform:translateY(-2px);box-shadow:0 14px 36px rgba(255,3,81,.4)}
.reg-next:active{transform:scale(.97)}
.reg-next svg{transition:transform .25s}
.reg-next:hover svg{transform:translateX(4px)}
.reg-next.is-loading{opacity:.7;pointer-events:none}
.reg-back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:rgba(255,255,255,.65);font-size:15px;padding:8px 4px;cursor:pointer;transition:color .2s}
.reg-back:hover{color:#fff}

/* Éxito */
.reg-success{text-align:center;padding:20px 0}
.reg-success:focus{outline:none}
.reg-success > *{animation:regRise .6s cubic-bezier(.2,.7,.2,1) both}
.reg-success h3{color:#fff;font-size:42px;line-height:48px;font-weight:600;margin:26px 0 12px;animation-delay:.5s}
.reg-success p{color:rgba(255,255,255,.7);font-size:17px;line-height:25px;max-width:480px;margin:0 auto 32px;animation-delay:.6s}
.reg-success .reg-next{animation-delay:.7s}
.reg-success-check{width:96px;height:96px;margin:0 auto;display:block}
.reg-success-check circle{fill:none;stroke:#FF0351;stroke-width:2;stroke-dasharray:151;stroke-dashoffset:151;animation:regDraw .7s cubic-bezier(.65,0,.45,1) forwards}
.reg-success-check path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:regDraw .45s .55s cubic-bezier(.65,0,.45,1) forwards}
@keyframes regDraw{to{stroke-dashoffset:0}}
@media (max-width:767px){.reg-success h3{font-size:30px;line-height:36px}}

/* Accesibilidad: sin animaciones si el usuario lo prefiere */
@media (prefers-reduced-motion:reduce){
  .reg-full *,.reg-card{animation:none!important;transition:none!important}
  .reg-success-check circle,.reg-success-check path{stroke-dashoffset:0}
}
.reg-consent a{color:#fff;text-decoration:underline;text-underline-offset:3px}
