/* Registro en Plenamente: páginas de alta de cada plan. Mismo sistema que el resto de la web. */
.reg-body{background:var(--cream);position:relative;overflow-x:hidden}
.reg-body::before{content:"";position:absolute;inset:0 0 auto 0;height:560px;background:radial-gradient(60% 70% at 18% 0%,rgba(229,234,223,.95),rgba(229,234,223,0) 70%),radial-gradient(40% 50% at 92% 8%,rgba(242,200,75,.16),rgba(242,200,75,0) 70%);pointer-events:none;z-index:0}
.reg-top,.reg,.reg-foot{position:relative;z-index:1}
.reg-top{border-bottom:1px solid var(--line);background:rgba(250,247,239,.82);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.reg-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}
.reg-login{font-size:15px;color:var(--muted);margin:0}
.reg-login a{color:var(--navy);font-weight:600;border-bottom:1.5px solid var(--mustard);padding-bottom:2px;margin-left:4px}

.reg{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:56px;align-items:start;padding-block:40px 112px}

/* Cabecera de la página */
.reg-head{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.reg-head h1{font-size:clamp(34px,4.2vw,52px);line-height:1.02;letter-spacing:-.025em;font-variation-settings:"SOFT" 100,"opsz" 144;margin:10px 0 0}
.reg-head h1 em{font-style:italic;font-weight:350;color:#3f5a4a}
.reg-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6d5a1f;background:var(--mustard-soft);border-radius:999px;padding:7px 14px}
.reg-kicker i{width:4px;height:4px;border-radius:50%;background:currentColor}
.reg-steps{display:flex;align-items:center;gap:12px;list-style:none;margin:0;padding:0;font-size:14px;color:var(--muted)}
.reg-steps li{display:flex;align-items:center;gap:9px}
.reg-steps li+li::before{content:"";width:28px;height:1px;background:rgba(32,52,73,.22);margin-right:3px}
.reg-steps b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid rgba(32,52,73,.2);font-family:var(--serif);font-weight:400;font-size:14px;color:var(--navy);background:#fff}
.reg-steps em{font-style:normal}
.reg-steps .now{color:var(--navy);font-weight:600}
.reg-steps .now b{background:#f2c84b;border-color:transparent}

/* Elegir plan */
.reg-plan{position:sticky;top:92px;display:flex;flex-direction:column;gap:20px}
.plan-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.plan-pick a{position:relative;display:flex;flex-direction:column;gap:4px;padding:15px 14px 14px;background:#fff;border:1.5px solid rgba(32,52,73,.12);border-radius:18px;transition:border-color .2s,transform .2s,box-shadow .2s}
.plan-pick a:hover{border-color:rgba(32,52,73,.35);transform:translateY(-1px)}
.plan-pick .n{font-weight:600;font-size:15px}
.plan-pick .p{font-family:var(--serif);font-size:20px;line-height:1.1;letter-spacing:-.01em;font-variation-settings:"SOFT" 100,"opsz" 32}
.plan-pick .t{font-size:12.5px;color:var(--muted)}
.plan-pick .chip{position:absolute;top:-10px;right:10px;font-size:11.5px;font-weight:600;color:var(--navy);background:#f2c84b;border-radius:999px;padding:3px 9px;white-space:nowrap}
.plan-pick a[aria-current="page"]{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy),0 18px 30px -22px rgba(32,52,73,.6)}

/* Tarjeta del plan */
.plan-card{position:relative;background:var(--navy);color:var(--cream);border-radius:26px;padding:30px 32px 40px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(32,52,73,.8)}
.plan-card::before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(242,200,75,.34),rgba(242,200,75,0) 68%)}
.plan-card .wave-deco{position:absolute;left:0;right:0;bottom:0;height:34px;opacity:.07;fill:var(--cream)}
.plan-card>*{position:relative}
.plan-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.plan-card .eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#f2c84b;margin-bottom:10px}
.plan-card h2{font-size:32px;line-height:1.08;color:var(--cream)}
.plan-badge{flex:none;font-size:12px;font-weight:600;color:var(--navy);background:var(--cream);border-radius:999px;padding:6px 11px}
.plan-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:16px 0 0}
.plan-price .amount{font-family:var(--serif);font-size:50px;line-height:1;letter-spacing:-.025em;font-variation-settings:"SOFT" 100,"opsz" 144}
.plan-price .per{font-size:15.5px;color:#d9d4c6}
.plan-save{display:inline-block;margin:12px 0 0;font-size:13.5px;font-weight:600;color:var(--navy);background:#f2c84b;border-radius:999px;padding:5px 12px}
.timeline{list-style:none;margin:24px 0 0;padding:20px 0 0;border-top:1px solid rgba(250,247,239,.16);display:grid;gap:14px}
.timeline li{display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:start;font-size:15px;line-height:1.45;position:relative}
.timeline li::before{content:"";width:12px;height:12px;margin-top:4px;border-radius:50%;border:2px solid rgba(250,247,239,.5);background:var(--navy)}
.timeline li:first-child::before{background:#f2c84b;border-color:#f2c84b}
.timeline li:not(:last-child)::after{content:"";position:absolute;left:6px;top:20px;bottom:-12px;width:1.5px;background:rgba(250,247,239,.18)}
.timeline small{display:block;color:#bfc6cc;font-size:13px}
.timeline b{font-family:var(--serif);font-weight:400;font-size:20px;white-space:nowrap}
.timeline li:first-child b{color:#f2c84b}

.incl-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 24px 22px}
.incl-box h3{font-size:20px;margin-bottom:16px}
.incl{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.incl li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.5}
.incl svg{width:22px;height:22px;flex:none;padding:3px;border-radius:50%;background:var(--sage);stroke:var(--navy);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.devices{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.devices img{width:100%;height:auto}
.devices p{margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.devices strong{display:block;color:var(--navy);font-weight:600}
.guarantee{display:flex;gap:14px;align-items:flex-start;background:var(--sage);border-radius:20px;padding:18px 20px;font-size:15px;line-height:1.6;color:#41504a;margin:0}
.guarantee svg{width:30px;height:30px;flex:none;stroke:var(--navy);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.guarantee svg .fill-sun{fill:#f2c84b;stroke:none}
.guarantee strong{display:block;color:var(--navy);font-weight:600;margin-bottom:2px}

/* Formulario */
.reg-card{position:relative;background:#fff;border-radius:30px;padding:40px 44px 36px;box-shadow:0 1px 0 rgba(32,52,73,.05),0 36px 70px -40px rgba(32,52,73,.45)}
.reg-card::before{content:"";position:absolute;left:44px;right:44px;top:0;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#f2c84b,#e5c46a 40%,var(--sage))}
.reg-card h2{font-size:30px;line-height:1.1;margin-bottom:10px}
.reg-card .lead{font-size:15.5px;line-height:1.65;color:var(--muted);margin:0 0 26px;max-width:520px}
.reg-form{display:grid;gap:18px}
.f{display:grid;gap:8px;position:relative}
.f label,.f .lbl{font-size:14.5px;font-weight:600;color:var(--navy)}
.f label small{font-weight:400;color:var(--muted);font-size:13px;margin-left:4px}
.f input{font:inherit;font-size:16.5px;color:var(--navy);width:100%;background:var(--cream);border:1.5px solid rgba(32,52,73,.14);border-radius:14px;padding:15px 16px;min-height:54px;transition:border-color .2s,background .2s,box-shadow .2s}
.f input::placeholder{color:#8f9893}
.f input:focus{outline:none;border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px rgba(242,200,75,.32)}
.f input.error{border-color:#b4462f;background:#fdf6f3}
.f .hint{font-size:13.5px;line-height:1.5;color:var(--muted)}
.f .err{display:none;font-size:13.5px;color:#a43c27;font-weight:500}
.f .err.show{display:block}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row-cp{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* País */
.country-wrap{position:relative}
.country-wrap::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);transform:translateY(-70%) rotate(45deg);pointer-events:none;opacity:.6}
.country-list{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;max-height:260px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 40px -22px rgba(32,52,73,.45);padding:6px;margin:0;list-style:none}
.country-list.show{display:block}
.country-list li{padding:11px 14px;border-radius:10px;cursor:pointer;font-size:15.5px}
.country-list li[aria-selected="true"],.country-list li:hover{background:var(--sage)}
.country-list .sep{height:1px;background:var(--line);margin:6px 8px;padding:0;pointer-events:none}
.country-list .empty{color:var(--muted);cursor:default}

/* Contraseña */
.pw-wrap{position:relative}
.pw-wrap input{padding-right:96px}
.pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);font:inherit;font-size:14px;font-weight:600;color:var(--navy);background:transparent;border:0;border-radius:10px;padding:8px 12px;cursor:pointer}
.pw-toggle:hover{background:var(--sage)}
.pw-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:2px}
.pw-meter i{height:4px;border-radius:4px;background:rgba(32,52,73,.1);transition:background .25s}
.pw-meter[data-level="1"] i:nth-child(1){background:#d98a5f}
.pw-meter[data-level="2"] i:nth-child(-n+2){background:#e2b84a}
.pw-meter[data-level="3"] i{background:#6f9a72}

/* Factura */
.invoice{border:1.5px solid rgba(32,52,73,.12);border-radius:18px;background:#fcfbf7;transition:border-color .25s,background .25s}
.invoice.on{border-color:rgba(32,52,73,.28);background:#fff}
.inv-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 18px;cursor:pointer;font:inherit;color:var(--navy);background:transparent;border:0;text-align:left;border-radius:18px}
.inv-switch:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.inv-switch strong{display:block;font-size:15.5px;font-weight:600}
.inv-switch span span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.tgl{flex:none;position:relative;width:46px;height:28px;border-radius:999px;background:rgba(32,52,73,.18);transition:background .2s}
.tgl::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.inv-switch[aria-expanded="true"] .tgl{background:var(--navy)}
.inv-switch[aria-expanded="true"] .tgl::after{transform:translateX(18px)}
.inv-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.invoice.on .inv-panel{grid-template-rows:1fr}
.inv-panel>div{overflow:hidden}
.inv-in{display:grid;gap:16px;padding:2px 18px 20px}
.inv-note{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted);background:var(--cream);border-radius:12px;padding:11px 14px}

/* Privacidad y botón */
.f .check{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:400;line-height:1.5;cursor:pointer}
.f .check input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;min-height:0;padding:0;margin:0;border:1.5px solid rgba(32,52,73,.35);border-radius:7px;background:#fff;display:grid;place-content:center;cursor:pointer;transition:background .15s,border-color .15s}
.f .check input::after{content:"";width:6px;height:11px;border-right:2.4px solid var(--navy);border-bottom:2.4px solid var(--navy);transform:rotate(45deg) translate(-1px,-1px) scale(0);transition:transform .15s}
.f .check input:checked{background:#f2c84b;border-color:#f2c84b}
.f .check input:checked::after{transform:rotate(45deg) translate(-1px,-1px) scale(1)}
.f .check input:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.f .check input.error{border-color:#b4462f}
.f .check a{color:var(--navy);font-weight:600;border-bottom:1.5px solid var(--mustard)}
.reg-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;font:inherit;font-size:17px;font-weight:600;color:var(--navy);background:#f2c84b;border:0;border-radius:999px;min-height:62px;padding:16px 28px;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;margin-top:4px;box-shadow:0 14px 26px -16px rgba(180,140,20,.9)}
.reg-submit:hover{background:#e9bb33}
.reg-submit:active{transform:translateY(1px)}
.reg-submit[disabled]{opacity:.7;cursor:progress}
.reg-submit .arr{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.reg-submit:hover .arr{transform:translateX(3px)}
.reg-submit .spin{display:none;width:18px;height:18px;border:2.5px solid rgba(32,52,73,.25);border-top-color:var(--navy);border-radius:50%;animation:regspin .8s linear infinite}
.reg-submit.loading .spin{display:block}
.reg-submit.loading .arr{display:none}
@keyframes regspin{to{transform:rotate(360deg)}}
.reg-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;font-size:13.5px;color:var(--muted);margin:0}
.reg-trust span{display:inline-flex;align-items:center;gap:7px}
.reg-trust svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pay-methods{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:12.5px;color:var(--muted)}
.pay-methods span{border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-weight:600;color:#55636b;background:#fff}

/* Avisos */
.reg-alert{border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.55;margin-bottom:20px}
.reg-alert.error{background:#fbeee9;color:#7d2f1f}
.reg-alert.warning{background:#fbf3d6;color:#5d4a12}
.reg-alert.info{background:var(--sage);color:var(--navy)}
.reg-alert a{font-weight:600;border-bottom:1.5px solid currentColor}
.reg-preview{display:none;border:1.5px dashed #d9bd62;background:#fdf8e6;border-radius:16px;padding:18px 20px;font-size:15px;line-height:1.6}
.reg-preview.show{display:block}
.reg-preview strong{display:block;margin-bottom:4px}

.reg-foot{border-top:1px solid var(--line);padding-block:26px;font-size:14px;color:var(--muted)}
.reg-foot .shell{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.reg-foot nav{display:flex;gap:20px;flex-wrap:wrap}
.reg-foot a:hover{color:var(--navy)}

.reg-head,.reg-card,.reg-plan{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.reg-plan{animation-delay:.06s}
.reg-card{animation-delay:.12s}

@media (min-width:961px){.reg-after{display:none}}
@media (max-width:960px){
  .reg{grid-template-columns:1fr;gap:22px;padding-block:22px 80px}
  .reg-head{flex-direction:column-reverse;align-items:flex-start;gap:14px}
  .reg-plan{position:static;gap:14px}
  .reg-plan .incl-box,.reg-plan .guarantee{display:none}
  .reg-after{display:flex;flex-direction:column;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
  .reg-after .incl-box{padding:0;border:0;background:transparent}
}
@media (max-width:600px){
  .reg-login span{display:none}
  .reg-steps{font-size:12.5px;gap:7px}
  .reg-steps li+li::before{width:12px}
  .reg-steps li:not(.now) em{display:none}
  .reg-kicker{font-size:11px;letter-spacing:.08em;padding:6px 11px}
  .plan-pick{gap:7px}
  .plan-pick a{padding:12px 10px 11px;border-radius:15px}
  .plan-pick .n{font-size:13.5px}
  .plan-pick .p{font-size:16.5px}
  .plan-pick .t{font-size:11.5px}
  .plan-pick .chip{font-size:10.5px;padding:2px 7px;right:6px}
  .plan-card{padding:24px 22px 34px;border-radius:22px}
  .plan-card h2{font-size:26px}
  .plan-price .amount{font-size:40px}
  .timeline{margin-top:18px;padding-top:16px;gap:12px}
  .timeline li{font-size:14px}
  .timeline b{font-size:17px}
  .reg-card{padding:30px 20px 26px;border-radius:24px}
  .reg-card::before{left:20px;right:20px}
  .reg-card h2{font-size:26px}
  .row2,.row-cp{grid-template-columns:1fr}
  .devices{grid-template-columns:96px 1fr}
}
.plan-tax{margin:6px 0 0;font-size:13px;letter-spacing:.02em;color:#bfc6cc}
