/* ===========================================================
   HARDCORE FITNESS — Auth (login) · estilo de marca
   =========================================================== */
@font-face{
  font-family:'Moto Verse';
  src:url('../fonts/moto-verse.ttf') format('truetype');
  font-weight:400; font-style:normal; font-display:swap;
}

:root{
  --ink:#000002; --wine-d:#74160F; --wine:#9D0013; --red:#C91517; --red-hot:#C91517;
  --bone:#FFFFFF; --gray:#7C7979; --pink:#FCB1B6;
  --display:'Moto Verse','Arial Narrow',sans-serif;
  --tech:'Chakra Petch',monospace;
  --body:'Fredoka',sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html,body{ height:100%; }
body{
  font-family:var(--body); background:var(--ink); color:var(--bone);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
img,video{ display:block; max-width:100%; }

.auth{ min-height:100svh; display:grid; grid-template-columns:1.15fr .85fr; }

/* ---------- Panel izquierdo (media / video de entrenamiento) ---------- */
.auth__media{ position:relative; overflow:hidden; background:#0a0305; }
.auth__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.auth__media::after{ /* overlay para legibilidad */
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,2,.35) 0%, rgba(0,0,2,.15) 40%, rgba(116,22,15,.55) 100%),
             radial-gradient(70% 60% at 30% 20%, rgba(201,21,23,.18), transparent 70%);
}
.auth__media-in{ position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:42px 46px; }
.auth__back{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; color:#fff; opacity:.85; display:inline-flex; align-items:center; gap:8px; transition:opacity .2s, gap .2s; align-self:flex-start; }
.auth__back:hover{ opacity:1; gap:12px; }
.auth__tagline{ max-width:18ch; }
.auth__tagline .kick{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.22em; font-size:.72rem; color:var(--red-hot); display:inline-block; margin-bottom:14px; }
.auth__tagline h2{ font-family:var(--display); text-transform:uppercase; line-height:1.02; font-size:clamp(2.2rem,3vw,3.4rem); }
.auth__tagline h2 .hl{ color:var(--red); }

/* ---------- Panel derecho (formulario) ---------- */
.auth__panel{ position:relative; display:flex; align-items:center; justify-content:center; padding:48px 40px; background:var(--ink); }
.auth__panel::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(80% 60% at 50% 0%, rgba(201,21,23,.12), transparent 70%); }
.auth__form{ position:relative; z-index:2; width:100%; max-width:380px; }
.auth__brand{ font-family:var(--display); text-transform:uppercase; letter-spacing:.02em; font-size:1.1rem; color:#fff; margin-bottom:30px; display:inline-block; }
.auth__brand .hl{ color:var(--red); }
.auth__title{ font-family:var(--display); text-transform:uppercase; line-height:1; font-size:clamp(1.9rem,2.4vw,2.6rem); color:#fff; }
.auth__sub{ color:var(--gray); font-weight:300; font-size:.95rem; margin:10px 0 30px; }

.afield{ margin-bottom:18px; }
.afield label{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; color:var(--gray); display:block; margin-bottom:8px; }
.afield input[type=email], .afield input[type=password], .afield input[type=text]{
  width:100%; background:#0c0406; border:1px solid rgba(246,241,239,.14); color:var(--bone);
  padding:14px 16px; border-radius:12px; font-family:var(--body); font-size:1rem; transition:border-color .25s, box-shadow .25s;
}
.afield input:focus{ outline:none; border-color:var(--red-hot); box-shadow:0 0 0 4px rgba(201,21,23,.12); }
.aerror{ color:var(--red-hot); font-size:.8rem; margin-top:7px; }
.astatus{ background:rgba(37,211,102,.12); border:1px solid rgba(37,211,102,.4); color:#9af2bd; padding:12px 14px; border-radius:10px; font-size:.88rem; margin-bottom:18px; }

.arow{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:6px 0 24px; }
.aremember{ display:inline-flex; align-items:center; gap:9px; color:#d9cfcc; font-size:.86rem; font-weight:300; cursor:pointer; user-select:none; }
.aremember input{ width:16px; height:16px; accent-color:var(--red); }
.alink{ font-size:.84rem; color:var(--gray); transition:color .2s; }
.alink:hover{ color:var(--red-hot); }

.abtn{ width:100%; border:none; cursor:pointer; background:var(--red); color:#fff; font-family:var(--tech); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.92rem; padding:16px; border-radius:12px; transition:background .25s, transform .12s; }
.abtn:hover{ background:var(--wine); }
.abtn:active{ transform:scale(.98); }
.auth__foot{ margin-top:26px; font-size:.86rem; color:var(--gray); font-weight:300; text-align:center; }
.auth__foot a{ color:var(--red-hot); }

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .auth{ grid-template-columns:1fr; }
  .auth__media{ min-height:34svh; }
  .auth__media-in{ padding:24px 24px; }
  .auth__panel{ padding:40px 22px 56px; }
}
@media (max-width:380px){
  .auth__panel{ padding:32px 16px 48px; }
}

/* ===================== Área logueada (dashboard) ===================== */
.app{ min-height:100svh; background:var(--ink); }
.app-top{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 28px; border-bottom:1px solid rgba(201,21,23,.22); background:rgba(0,0,2,.6); position:sticky; top:0; z-index:10; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.app-top__brand{ font-family:var(--display); text-transform:uppercase; font-size:1.05rem; color:#fff; }
.app-top__brand .hl{ color:var(--red); }
.app-top__right{ display:flex; align-items:center; gap:18px; }
.app-top__hi{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.1em; font-size:.74rem; color:var(--gray); }
.app-top__link{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; color:#fff; opacity:.85; transition:opacity .2s, color .2s; }
.app-top__link:hover{ opacity:1; color:var(--red-hot); }
.app-logout{ display:inline; margin:0; }
.app-logout button{ cursor:pointer; font-family:var(--tech); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:#fff; background:var(--red); border:none; padding:9px 16px; border-radius:10px; transition:background .2s, transform .12s; }
.app-logout button:hover{ background:var(--wine); }
.app-logout button:active{ transform:scale(.96); }
.app-main{ max-width:1100px; margin:0 auto; padding:48px 28px; }
.dash-card{ background:linear-gradient(180deg, rgba(25,7,9,.7), rgba(0,0,2,.7)); border:1px solid rgba(201,21,23,.25); border-radius:18px; padding:38px 32px; }
.dash-card h1{ font-family:var(--display); text-transform:uppercase; line-height:1.04; font-size:clamp(1.8rem,3vw,2.6rem); color:#fff; }
.dash-card p{ color:var(--gray); font-weight:300; margin-top:12px; max-width:60ch; line-height:1.7; }
@media (max-width:560px){ .app-top{ padding:12px 16px; } .app-top__hi{ display:none; } .app-main{ padding:32px 16px; } }

/* ---------- Botón Google ---------- */
.gbtn{ width:100%; display:flex; align-items:center; justify-content:center; gap:10px; background:#fff; color:#1f1f1f; border:none; border-radius:12px; padding:13px 16px; font-family:var(--body); font-weight:500; font-size:.95rem; cursor:pointer; transition:transform .12s, box-shadow .2s; }
.gbtn:hover{ box-shadow:0 10px 26px -12px rgba(255,255,255,.45); }
.gbtn:active{ transform:scale(.98); }
.gbtn svg{ width:18px; height:18px; }
.adivider{ display:flex; align-items:center; gap:12px; color:var(--gray); font-size:.72rem; font-family:var(--tech); text-transform:uppercase; letter-spacing:.16em; margin:20px 0; }
.adivider::before, .adivider::after{ content:""; flex:1; height:1px; background:rgba(246,241,239,.12); }

/* ===================== Resultado de pago ===================== */
.result{ min-height:100svh; display:flex; align-items:center; justify-content:center; padding:32px; text-align:center; background:var(--ink); position:relative; }
.result::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 50% at 50% 0%, rgba(201,21,23,.14), transparent 70%); }
.result__card{ position:relative; z-index:2; width:100%; max-width:520px; background:linear-gradient(180deg, rgba(25,7,9,.75), rgba(0,0,2,.8)); border:1px solid rgba(201,21,23,.3); border-radius:20px; padding:48px 36px; }
.result.ok .result__card{ border-color:rgba(37,211,102,.55); }
.result__icon{ font-size:3.2rem; line-height:1; }
.result__card h1{ font-family:var(--display); text-transform:uppercase; line-height:1.05; font-size:clamp(1.8rem,4vw,2.6rem); color:#fff; margin:14px 0 10px; }
.result__card p{ color:var(--gray); font-weight:300; line-height:1.7; max-width:42ch; margin:0 auto; }
.result__ref{ font-family:var(--tech); font-size:.72rem; color:var(--gray); letter-spacing:.06em; margin-top:18px; }
.result__btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:28px; }
.result__btn{ font-family:var(--tech); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; padding:13px 22px; border-radius:12px; }
.result__btn--p{ background:var(--red); color:#fff; } .result__btn--p:hover{ background:var(--wine); }
.result__btn--g{ border:1px solid rgba(246,241,239,.2); color:#fff; } .result__btn--g:hover{ border-color:var(--red); }

/* activación de cuenta en la página de resultado */
.result__form{ text-align:left; margin-top:26px; }
.result__formhint{ color:var(--gray); font-size:.85rem; margin-bottom:16px; text-align:center; }
.result__form .afield input[readonly]{ opacity:.7; cursor:not-allowed; }

/* ===================== Onboarding conversacional ===================== */
.ob{ min-height:100svh; display:flex; flex-direction:column; background:var(--ink); position:relative; }
.ob::before{ content:""; position:absolute; inset:0; background:radial-gradient(70% 50% at 50% 0%, rgba(201,21,23,.13), transparent 70%); pointer-events:none; }
.ob__bar{ position:relative; z-index:2; height:4px; background:rgba(255,255,255,.07); }
.ob__bar i{ display:block; height:100%; width:0; background:var(--red); transition:width .4s var(--ease); }
.ob__top{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:16px 24px; }
.ob__brand{ font-family:var(--display); text-transform:uppercase; font-size:1rem; color:#fff; }
.ob__brand .hl{ color:var(--red); }
.ob__count{ font-family:var(--tech); font-size:.72rem; letter-spacing:.1em; color:var(--gray); }
.ob__main{ position:relative; z-index:2; flex:1; display:flex; align-items:center; justify-content:center; padding:24px; }
.ob__form{ width:100%; max-width:560px; }
.ob__step{ display:none; animation:obin .45s var(--ease); }
.ob__step.is-on{ display:block; }
@keyframes obin{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.ob__kicker{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; color:var(--red-hot); margin-bottom:12px; }
.ob__q{ font-family:var(--display); text-transform:uppercase; line-height:1.05; font-size:clamp(1.7rem,4vw,2.8rem); color:#fff; margin-bottom:8px; }
.ob__hint{ color:var(--gray); font-weight:300; margin-bottom:24px; }
.ob__input{ width:100%; background:#0c0406; border:1px solid rgba(246,241,239,.16); color:var(--bone); padding:16px 18px; border-radius:14px; font-family:var(--body); font-size:1.15rem; transition:border-color .25s, box-shadow .25s; }
.ob__input:focus{ outline:none; border-color:var(--red-hot); box-shadow:0 0 0 4px rgba(201,21,23,.12); }
textarea.ob__input{ resize:none; min-height:120px; font-size:1rem; }
.ob__suffix{ color:var(--gray); font-family:var(--tech); font-size:.8rem; margin-top:8px; }
.ob__opts{ display:flex; flex-wrap:wrap; gap:10px; }
.ob__opt{ font-family:var(--body); font-size:1rem; color:#ece6e5; background:rgba(255,255,255,.04); border:1px solid rgba(246,241,239,.16); border-radius:14px; padding:14px 20px; cursor:pointer; transition:background .2s, border-color .2s, transform .12s; }
.ob__opt:hover{ background:rgba(201,21,23,.16); border-color:var(--red); }
.ob__opt.is-sel{ background:linear-gradient(180deg, var(--red), var(--wine-d)); border-color:var(--red); color:#fff; }
.ob__nav{ display:flex; align-items:center; gap:12px; margin-top:30px; }
.ob__next{ background:var(--red); color:#fff; border:none; cursor:pointer; font-family:var(--tech); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.85rem; padding:15px 30px; border-radius:12px; transition:background .25s, transform .12s; }
.ob__next:hover{ background:var(--wine); } .ob__next:active{ transform:scale(.97); }
.ob__back{ background:none; border:none; color:var(--gray); font-family:var(--tech); text-transform:uppercase; letter-spacing:.1em; font-size:.74rem; cursor:pointer; }
.ob__back:hover{ color:#fff; }
.ob__skip{ margin-left:auto; background:none; border:none; color:var(--gray); font-size:.8rem; cursor:pointer; text-decoration:underline; }
.ob__skip:hover{ color:var(--red-hot); }

/* ===================== PORTAL DEL USUARIO ===================== */
.px{ display:grid; grid-template-columns:256px 1fr; min-height:100svh; background:var(--ink); }
.px__side{ position:sticky; top:0; height:100svh; display:flex; flex-direction:column; gap:8px; padding:24px 18px; border-right:1px solid rgba(201,21,23,.2); background:rgba(0,0,2,.6); }
.px__logo{ font-family:var(--display); text-transform:uppercase; font-size:1.05rem; color:#fff; padding:6px 10px 18px; }
.px__logo .hl{ color:var(--red); }
.px__nav{ display:flex; flex-direction:column; gap:4px; }
.px__link{ display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:12px; color:#cfc7c5; font-family:var(--tech); text-transform:uppercase; letter-spacing:.05em; font-size:.78rem; transition:background .2s, color .2s; }
.px__link svg{ width:19px; height:19px; flex-shrink:0; }
.px__link:hover{ background:rgba(255,255,255,.04); color:#fff; }
.px__link.is-on{ background:linear-gradient(90deg, rgba(201,21,23,.22), rgba(201,21,23,.05)); color:#fff; box-shadow:inset 3px 0 0 var(--red); }
.px__side-foot{ margin-top:auto; display:flex; flex-direction:column; gap:4px; padding-top:14px; border-top:1px solid rgba(255,255,255,.06); }
.px__link--ia{ color:#3ad07a; }
.px__logout button{ width:100%; display:flex; align-items:center; gap:12px; padding:11px 14px; border:none; background:none; cursor:pointer; color:#cfc7c5; font-family:var(--tech); text-transform:uppercase; letter-spacing:.05em; font-size:.78rem; border-radius:12px; transition:background .2s, color .2s; }
.px__logout button svg{ width:19px; height:19px; }
.px__logout button:hover{ background:rgba(201,21,23,.12); color:var(--red-hot); }

.px__body{ min-width:0; display:flex; flex-direction:column; }
.px__top{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:26px 34px 10px; }
.px__crumb{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; color:var(--gray); }
.px__title{ font-family:var(--display); text-transform:uppercase; font-size:clamp(1.6rem,3vw,2.3rem); color:#fff; line-height:1; margin-top:4px; }
.px__planbadge{ font-family:var(--tech); font-weight:700; letter-spacing:.12em; font-size:.72rem; color:#fff; background:var(--red); padding:8px 14px; border-radius:999px; flex-shrink:0; }
.px__planbadge.is-exp{ background:#5a5a5a; }
.px__mob{ display:none; }
.px__content{ padding:18px 34px 60px; max-width:1000px; width:100%; }

.pcard{ background:linear-gradient(180deg, rgba(25,7,9,.55), rgba(0,0,2,.55)); border:1px solid rgba(201,21,23,.22); border-radius:18px; padding:26px 26px; margin-bottom:18px; }
.pcard--ok{ background:rgba(37,211,102,.12); border-color:rgba(37,211,102,.4); color:#9af2bd; padding:14px 18px; }
.pcard h2{ font-family:var(--display); text-transform:uppercase; font-size:1.3rem; color:#fff; margin-bottom:6px; }
.pcard h3{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.08em; font-size:.82rem; color:var(--gray); margin-bottom:14px; }
.pcard p{ color:#cfc7c5; font-weight:300; line-height:1.7; }
.pmuted{ color:var(--gray); font-weight:300; font-size:.92rem; }

.pgrid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:16px; }
.stat{ background:rgba(255,255,255,.03); border:1px solid rgba(246,241,239,.1); border-radius:16px; padding:20px; }
.stat__l{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.1em; font-size:.68rem; color:var(--gray); }
.stat__v{ font-family:var(--display); font-size:2rem; color:#fff; margin-top:8px; line-height:1; }
.stat__d{ font-size:.8rem; margin-top:8px; font-weight:300; }
.stat__d.up{ color:#3ad07a; } .stat__d.down{ color:var(--red-hot); }

.featlist{ list-style:none; display:flex; flex-direction:column; gap:11px; margin-top:6px; }
.featlist li{ display:flex; gap:11px; align-items:flex-start; color:#e4dcda; font-weight:300; }
.featlist li::before{ content:"✓"; color:#3ad07a; font-weight:700; }

.btable{ width:100%; border-collapse:collapse; }
.btable th{ text-align:left; font-family:var(--tech); text-transform:uppercase; letter-spacing:.08em; font-size:.66rem; color:var(--gray); padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08); }
.btable td{ padding:14px 12px; border-bottom:1px solid rgba(255,255,255,.05); color:#e4dcda; font-size:.9rem; }
.btable tr:last-child td{ border-bottom:none; }
.badge{ font-family:var(--tech); font-weight:700; font-size:.64rem; letter-spacing:.08em; padding:5px 10px; border-radius:999px; text-transform:uppercase; }
.badge--ok{ background:rgba(37,211,102,.16); color:#3ad07a; } .badge--pend{ background:rgba(255,180,0,.16); color:#ffc24d; } .badge--no{ background:rgba(201,21,23,.18); color:#ff6b6b; }

.chart{ display:flex; align-items:flex-end; gap:8px; height:160px; padding:12px 4px 0; }
.chart__bar{ flex:1; min-width:8px; background:linear-gradient(180deg, var(--red), var(--wine-d)); border-radius:6px 6px 0 0; position:relative; transition:height .4s var(--ease); }
.chart__bar span{ position:absolute; top:-20px; left:50%; transform:translateX(-50%); font-family:var(--tech); font-size:.62rem; color:#fff; white-space:nowrap; }
.chart__bar small{ position:absolute; bottom:-20px; left:50%; transform:translateX(-50%); font-size:.6rem; color:var(--gray); }

.prow{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:14px; }
.psave{ margin-top:18px; }
.pe{ display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.pe:last-child{ border-bottom:none; }
.pe__photo{ width:64px; height:64px; border-radius:12px; object-fit:cover; flex-shrink:0; border:1px solid rgba(201,21,23,.3); }
.pe__date{ font-family:var(--tech); color:#fff; font-size:.8rem; letter-spacing:.06em; }
.pe__data{ color:var(--gray); font-size:.85rem; margin-top:4px; font-weight:300; }
.pe__del{ margin-left:auto; background:none; border:none; color:var(--gray); cursor:pointer; font-size:1.1rem; }
.pe__del:hover{ color:var(--red-hot); }
.pfile{ display:block; margin-top:6px; color:#cfc7c5; font-size:.85rem; }
.plink{ color:var(--red-hot); font-family:var(--tech); text-transform:uppercase; letter-spacing:.08em; font-size:.74rem; }

@media (max-width:900px){
  .px{ grid-template-columns:1fr; }
  .px__side{ display:none; }
  .px__top{ padding:20px 18px 8px; }
  .px__content{ padding:14px 18px 90px; }
  .px__mob{ display:flex; gap:8px; overflow-x:auto; padding:8px 18px 4px; scrollbar-width:none; }
  .px__mob::-webkit-scrollbar{ display:none; }
  .px__mlink{ flex:0 0 auto; font-family:var(--tech); text-transform:uppercase; letter-spacing:.05em; font-size:.72rem; color:#cfc7c5; background:rgba(255,255,255,.04); border:1px solid rgba(246,241,239,.12); border-radius:999px; padding:9px 15px; }
  .px__mlink.is-on{ background:var(--red); color:#fff; border-color:var(--red); }
}

/* selects e inputs numéricos dentro de formularios del portal/ficha */
.afield select, .afield input[type=number]{ width:100%; background:#0c0406; border:1px solid rgba(246,241,239,.14); color:var(--bone); padding:14px 16px; border-radius:12px; font-family:var(--body); font-size:1rem; transition:border-color .25s, box-shadow .25s; }
.afield select:focus, .afield input[type=number]:focus{ outline:none; border-color:var(--red-hot); box-shadow:0 0 0 4px rgba(201,21,23,.12); }
.afield textarea{ width:100%; background:#0c0406; border:1px solid rgba(246,241,239,.14); color:var(--bone); padding:14px 16px; border-radius:12px; font-family:var(--body); font-size:1rem; resize:vertical; min-height:90px; }
.afield textarea:focus{ outline:none; border-color:var(--red-hot); box-shadow:0 0 0 4px rgba(201,21,23,.12); }
.afield input[type=file]{ color:#cfc7c5; font-size:.9rem; }

/* ===================== Checkout propio (tarjeta) ===================== */
.co{ min-height:100svh; display:flex; align-items:center; justify-content:center; padding:32px 18px; position:relative; }
.co::before{ content:""; position:absolute; inset:0; background:radial-gradient(60% 50% at 50% 0%, rgba(201,21,23,.14), transparent 70%); pointer-events:none; }
.co__card{ position:relative; z-index:2; width:100%; max-width:460px; background:linear-gradient(180deg, rgba(25,7,9,.92), rgba(0,0,2,.95)); border:1px solid rgba(201,21,23,.32); border-radius:22px; padding:34px 30px; box-shadow:0 44px 100px -54px rgba(201,21,23,.6); }
.co__back{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; color:var(--gray); }
.co__back:hover{ color:#fff; }
.co__title{ font-family:var(--display); text-transform:uppercase; font-size:1.6rem; color:#fff; margin:14px 0 4px; }
.co__sum{ display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.04); border:1px solid rgba(246,241,239,.12); border-radius:14px; padding:14px 16px; margin:16px 0 22px; }
.co__sum b{ font-family:var(--display); color:#fff; font-size:1.3rem; }
.co__sum span{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.08em; font-size:.74rem; color:var(--gray); }
.co__row{ display:flex; gap:12px; }
.co__row .afield{ flex:1; }
.co__msg{ display:none; background:rgba(201,21,23,.14); border:1px solid rgba(201,21,23,.4); color:#ff8e8e; padding:12px 14px; border-radius:10px; font-size:.86rem; margin-bottom:14px; }
.co__msg.on{ display:block; }
.co__secure{ display:flex; align-items:center; justify-content:center; gap:7px; color:var(--gray); font-size:.74rem; font-weight:300; margin-top:16px; }
.co__test{ background:rgba(255,180,0,.1); border:1px solid rgba(255,180,0,.3); color:#ffc24d; font-size:.76rem; border-radius:10px; padding:10px 12px; margin-bottom:16px; line-height:1.5; }
.abtn[disabled]{ opacity:.6; cursor:progress; }

/* checkout conversacional (2 columnas) */
.cowiz{ width:100%; max-width:430px; }
.cowiz__head{ display:flex; align-items:center; justify-content:space-between; }
.cowiz__count{ font-family:var(--tech); font-size:.72rem; letter-spacing:.1em; color:var(--gray); }
.copay{ margin-top:14px; font-family:var(--tech); text-transform:uppercase; letter-spacing:.06em; font-size:.82rem; color:#e9dedb; }
.copay b{ color:#fff; }
.cowiz .ob__q{ font-size:clamp(1.35rem,2.3vw,1.85rem); }
.cowiz .ob__hint{ margin-bottom:18px; }
.cowiz .ob__nav{ margin-top:24px; }

/* estado "confirmando pago" dentro del checkout */
.cowiz__confirm{ display:none; }
.cowiz__confirm.on{ display:block; animation:obin .4s var(--ease); }
.spinner{ width:48px; height:48px; border-radius:50%; border:3px solid rgba(201,21,23,.18); border-top-color:var(--red); animation:spin 1s linear infinite; margin:6px 0 22px; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.cowiz__countdown{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.06em; color:var(--gray); margin-top:16px; font-size:.78rem; }
.cowiz__countdown a{ color:var(--red-hot); text-decoration:underline; }

/* selección de método de pago (Tarjeta / PSE) */
.paymethods{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:4px; }
.paymethod{ display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; padding:24px 12px; border-radius:16px; border:1px solid rgba(246,241,239,.16); background:rgba(255,255,255,.04); cursor:pointer; transition:border-color .2s, background .2s, transform .12s; color:#fff; }
.paymethod:hover{ border-color:var(--red); background:rgba(201,21,23,.12); }
.paymethod:active{ transform:scale(.97); }
.paymethod.is-sel{ border-color:var(--red); background:linear-gradient(180deg, rgba(201,21,23,.2), rgba(0,0,2,.2)); }
.paymethod svg{ width:32px; height:32px; color:var(--red-hot); }
.paymethod b{ font-family:var(--tech); text-transform:uppercase; letter-spacing:.06em; font-size:.82rem; }
.paymethod small{ color:var(--gray); font-size:.7rem; font-weight:300; line-height:1.3; }
.paymethod .pse-wm{ font-family:var(--display); font-size:1.5rem; color:#fff; letter-spacing:.04em; line-height:1; }
select.ob__input{ -webkit-appearance:none; appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--gray) 50%), linear-gradient(135deg, var(--gray) 50%, transparent 50%); background-position:calc(100% - 20px) 22px, calc(100% - 14px) 22px; background-size:6px 6px, 6px 6px; background-repeat:no-repeat; }

/* checkout: preguntas del formulario en letra normal (más serio); la marca sigue en Moto Verse */
.cowiz .ob__q{ font-family:var(--body); text-transform:none; font-weight:500; letter-spacing:0; font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.3; }
