/* ═══════════════════════════════════════════════════════════════
   SBLTT WALLET — Mobile Fix v6.0 DEFINITIVO
   Reemplaza fix_login_mobile.css (eliminar el anterior)
   
   INSTRUCCIÓN: En el <head> del index.php/wallet.html:
   1. ELIMINAR: <link rel="stylesheet" href="/css/fix_login_mobile.css...">
   2. AGREGAR:  <link rel="stylesheet" href="/css/mobile_fix_v6.css?v=600">
      (DESPUÉS del sbltt.css)
═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════
   SECCIÓN 1 — LOGIN / AUTH (móvil)
   Pantalla completa estilo app nativa, sin panel izquierdo roto
═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── Pantalla auth: ocupa toda la pantalla ── */
  .auth-screen {
    display:         flex !important;
    flex-direction:  column !important;
    align-items:     center !important;
    justify-content: flex-start !important;
    min-height:      100dvh !important;
    height:          100dvh !important;
    padding:         0 !important;
    background:      #050816 !important;
    overflow-y:      auto !important;
    overflow-x:      hidden !important;
  }

  /* ── Si existe el split de 2 columnas: convertir a 1 columna ── */
  .auth-split {
    display:    block !important;
    width:      100% !important;
    max-width:  100% !important;
    border-radius: 0 !important;
    border:     none !important;
    box-shadow: none !important;
    background: transparent !important;
    min-height: 100dvh !important;
  }

  /* ── Panel info izquierdo: OCULTAR completamente en móvil ── */
  .auth-split .auth-info,
  .auth-info {
    display: none !important;
  }

  /* ── Panel form: toma todo el espacio ── */
  .auth-split .auth-form,
  .auth-form {
    width:         100% !important;
    max-width:     100% !important;
    min-height:    100dvh !important;
    padding:       0 !important;
    display:       flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    background:    #050816 !important;
    border-radius: 0 !important;
    border:        none !important;
    box-shadow:    none !important;
  }

  /* ── Auth-box (pantalla registro): full width ── */
  .auth-box {
    width:         100% !important;
    max-width:     100% !important;
    border-radius: 0 !important;
    border:        none !important;
    box-shadow:    none !important;
    min-height:    100dvh !important;
    padding:       0 24px 48px !important;
    background:    #050816 !important;
  }

  /* ── Header dorado (dentro del form) ── */
  .auth-mobile-header {
    display:        flex !important;
    flex-direction: column !important;
    align-items:    center !important;
    padding:        44px 24px 24px !important;
    gap:            10px !important;
    background:
      radial-gradient(ellipse 90% 55% at 50% 0%,
        rgba(212,160,50,.15) 0%, transparent 70%),
      #050816 !important;
  }

  .auth-mobile-header img,
  .auth-logo img {
    width:         72px !important;
    height:        72px !important;
    border-radius: 50% !important;
    border:        2.5px solid rgba(212,160,50,.65) !important;
    box-shadow:    0 0 28px rgba(212,160,50,.22) !important;
    object-fit:    cover !important;
  }

  .auth-mobile-header-brand {
    font-family:    'Cinzel', serif !important;
    font-size:      22px !important;
    font-weight:    800 !important;
    color:          #d4a032 !important;
    letter-spacing: 3px !important;
    margin-top:     4px !important;
  }

  .auth-mobile-header-sub {
    font-size:      10px !important;
    color:          rgba(212,160,50,.55) !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-align:     center !important;
  }

  /* ── Pill usuarios activos ── */
  .auth-mobile-pill {
    display:       inline-flex !important;
    align-items:   center !important;
    gap:           6px !important;
    background:    rgba(5,200,100,.1) !important;
    border:        1px solid rgba(5,200,100,.22) !important;
    border-radius: 20px !important;
    padding:       5px 14px !important;
    font-size:     11px !important;
    color:         #05c864 !important;
    font-weight:   700 !important;
    margin-bottom: 6px !important;
  }
  .auth-mobile-pill::before {
    content:       "" !important;
    width:         7px !important;
    height:        7px !important;
    background:    #05c864 !important;
    border-radius: 50% !important;
    animation:     sbltt-pulse-green 1.8s infinite !important;
  }
  @keyframes sbltt-pulse-green {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: .45; transform: scale(.7); }
  }

  /* ── Títulos del form ── */
  .auth-title,
  .auth-split .auth-form h2 {
    font-family: 'Cinzel', serif !important;
    font-size:   22px !important;
    color:       #d4a032 !important;
    text-align:  center !important;
    padding:     0 24px !important;
    margin-bottom: 4px !important;
  }

  .auth-sub {
    font-size:     13px !important;
    color:         #8fa0c8 !important;
    text-align:    center !important;
    padding:       0 24px !important;
    margin-bottom: 22px !important;
  }

  /* ── Zona del formulario ── */
  .auth-split .auth-form form,
  .auth-form form {
    padding:    0 24px !important;
    flex:       1 !important;
  }

  /* ── Inputs: altura táctil, sin zoom iOS ── */
  .auth-split .auth-form .input,
  .auth-form .input,
  .auth-box .input {
    height:        54px !important;
    font-size:     16px !important;   /* evita zoom automático iOS */
    border-radius: 14px !important;
    padding:       0 16px !important;
    background:    rgba(24,32,61,.85) !important;
    border:        1px solid rgba(212,160,50,.2) !important;
    color:         #f0e8d0 !important;
    width:         100% !important;
  }
  .auth-split .auth-form .input:focus,
  .auth-form .input:focus {
    border-color:  rgba(212,160,50,.55) !important;
    outline:       none !important;
    box-shadow:    0 0 0 3px rgba(212,160,50,.1) !important;
  }

  /* ── Labels ── */
  .auth-split .auth-form .input-label,
  .auth-form .input-label,
  .auth-box .input-label {
    font-size:      11px !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    color:          rgba(212,160,50,.7) !important;
    margin-bottom:  6px !important;
    display:        block !important;
  }

  /* ── Grupos de input ── */
  .auth-split .auth-form .input-group,
  .auth-form .input-group,
  .auth-box .input-group {
    margin-bottom: 16px !important;
  }

  /* ── Botón principal: altura táctil, full width ── */
  .auth-split .auth-form .btn-block,
  .auth-form .btn-block,
  .auth-box .btn-block {
    display:       flex !important;
    align-items:   center !important;
    justify-content: center !important;
    width:         100% !important;
    min-height:    54px !important;
    font-size:     16px !important;
    font-weight:   700 !important;
    border-radius: 16px !important;
    margin-top:    10px !important;
    border:        none !important;
    cursor:        pointer !important;
    background:    linear-gradient(135deg, #d4a032, #b8821a) !important;
    color:         #050816 !important;
    letter-spacing: .5px !important;
    box-shadow:    0 4px 20px rgba(212,160,50,.3) !important;
    transition:    all .2s ease !important;
  }
  .auth-split .auth-form .btn-block:active,
  .auth-form .btn-block:active {
    transform: scale(.97) !important;
    box-shadow: 0 2px 10px rgba(212,160,50,.2) !important;
  }

  /* ── Tarjeta de seguridad (si existe) ── */
  .auth-split .auth-form .card,
  .auth-form .card,
  .auth-box .card {
    margin:        16px 0 32px !important;
    border-radius: 14px !important;
    font-size:     11.5px !important;
    padding:       14px 16px !important;
    background:    rgba(13,26,110,.18) !important;
    border:        1px solid rgba(212,160,50,.12) !important;
  }

  /* ── Links de navegación (ya tienes cuenta / crear cuenta) ── */
  .auth-split .auth-form .text-center,
  .auth-form .text-center {
    padding:    0 24px !important;
    font-size:  13px !important;
    text-align: center !important;
  }

  /* ── Ocultar features del panel info que no aplican ── */
  .ai-btn-bonus, .ai-btn-free,
  .auth-features, .auth-info-footer {
    display: none !important;
  }

  /* ── Scroll suave en formularios largos (registro) ── */
  #screen-register {
    align-items:  flex-start !important;
    padding:      0 !important;
    min-height:   100dvh !important;
    overflow-y:   auto !important;
    background:   #050816 !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SECCIÓN 2 — WALLET PRINCIPAL (móvil) — Layout y cards
═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── Contenido principal ── */
  .main-content {
    padding: 12px 0 88px !important;   /* 88px para bottom nav */
  }

  /* ── Contenedores ── */
  .container,
  .container-narrow {
    padding:   0 14px !important;
    max-width: 100% !important;
  }

  /* ── Cards: radio y padding más compactos ── */
  .card {
    border-radius: 16px !important;
    padding:       16px !important;
  }

  /* ── Grids que usan 2 columnas: 1 columna en móvil ── */
  .grid-2,
  [class*="grid-cols-2"],
  .stats-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* ── Tabs / pestañas ── */
  .tabs {
    overflow-x:      auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap:             6px !important;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tab-btn {
    white-space:  nowrap !important;
    padding:      8px 16px !important;
    font-size:    13px !important;
    border-radius: 10px !important;
    flex-shrink:  0 !important;
  }

  /* ── Balance / portfolio ── */
  .portfolio-total {
    font-size:   28px !important;
    line-height: 1.1 !important;
  }

  /* ── Botones de acción rápida (Enviar / Recibir / etc) ── */
  .action-buttons,
  .quick-actions {
    display:               grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap:                   8px !important;
  }
  .action-btn {
    flex-direction: column !important;
    gap:            4px !important;
    padding:        10px 6px !important;
    font-size:      11px !important;
    border-radius:  12px !important;
    text-align:     center !important;
    min-width:      0 !important;
  }
  .action-btn .action-icon {
    font-size: 20px !important;
    margin:    0 !important;
  }

  /* ── Topbar en móvil ── */
  .topbar {
    padding:       10px 14px 10px 14px !important;
    padding-right: 60px !important;
  }
  .topbar-domain { display: none !important; }
  .topbar-brand  { font-size: 15px !important; }

  /* ── Saldo en topbar ── */
  .topbar-balance {
    font-size:  12px !important;
    max-width:  120px !important;
    overflow:   hidden !important;
    text-overflow: ellipsis !important;
    white-space:   nowrap !important;
  }

  /* ── Bloqueo / Staking ── */
  .staking-hero,
  .bloqueo-hero {
    padding:       24px 16px !important;
    border-radius: 16px !important;
  }

  .staking-hero h1,
  .bloqueo-hero h1 {
    font-size:   24px !important;
    line-height: 1.2 !important;
  }

  .staking-hero p,
  .bloqueo-hero p {
    font-size: 13px !important;
  }

  /* Pasos "¿Cómo funciona?" en bloqueo: scroll horizontal */
  .steps-row,
  .how-it-works-grid {
    display:    flex !important;
    overflow-x: auto !important;
    gap:        12px !important;
    padding-bottom: 8px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .steps-row::-webkit-scrollbar,
  .how-it-works-grid::-webkit-scrollbar { display: none; }

  .step-card,
  .how-step {
    min-width:     200px !important;
    flex-shrink:   0 !important;
    border-radius: 14px !important;
    padding:       16px !important;
  }

  /* Resumen de inversión en bloqueo */
  .investment-summary,
  .staking-summary {
    font-size:     13px !important;
    padding:       16px !important;
    border-radius: 14px !important;
  }
  .investment-summary .row,
  .staking-summary .row {
    display:         flex !important;
    justify-content: space-between !important;
    padding:         8px 0 !important;
    border-bottom:   1px solid rgba(212,160,50,.1) !important;
    gap:             8px !important;
    flex-wrap:       wrap !important;
  }
  .investment-summary .value,
  .staking-summary .value {
    font-size:   13px !important;
    font-weight: 700 !important;
    text-align:  right !important;
  }
  .investment-summary .total-row {
    font-size: 15px !important;
  }

  /* Botones quick de cantidad: scroll horizontal */
  .quick-amounts {
    display:    flex !important;
    overflow-x: auto !important;
    gap:        8px !important;
    padding-bottom: 4px !important;
    scrollbar-width: none !important;
  }
  .quick-amounts::-webkit-scrollbar { display: none; }
  .quick-amount-btn {
    flex-shrink:   0 !important;
    padding:       6px 14px !important;
    font-size:     12px !important;
    border-radius: 8px !important;
    white-space:   nowrap !important;
  }

  /* Input de cantidad */
  .amount-input-wrap {
    display:   flex !important;
    gap:       8px !important;
    flex-wrap: nowrap !important;
  }
  .amount-input-wrap .input {
    flex:      1 !important;
    font-size: 16px !important;   /* sin zoom iOS */
    height:    52px !important;
  }
  .amount-input-wrap .input-suffix {
    display:        flex !important;
    align-items:    center !important;
    padding:        0 14px !important;
    background:     rgba(212,160,50,.12) !important;
    border-radius:  12px !important;
    font-weight:    700 !important;
    color:          #d4a032 !important;
    white-space:    nowrap !important;
    font-size:      13px !important;
    flex-shrink:    0 !important;
  }

  /* Período selección (pills 3/6/12 meses) */
  .period-selector {
    display:               grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap:                   8px !important;
  }
  .period-btn {
    padding:       10px 6px !important;
    font-size:     12px !important;
    border-radius: 10px !important;
    text-align:    center !important;
  }

  /* Mis bloqueos activos */
  .lock-item,
  .staking-item {
    padding:       14px !important;
    border-radius: 14px !important;
    font-size:     13px !important;
  }

  /* ── Historial ── */
  .history-item {
    padding:    10px !important;
    gap:        10px !important;
  }
  .history-title { font-size: 12px !important; }
  .history-meta  { font-size: 10px !important; }
  .history-amount { font-size: 12px !important; }

  /* ── P2P / Ofertas ── */
  .offer-card {
    padding:       14px !important;
    border-radius: 14px !important;
  }

  /* ── Nav bar en la parte inferior (si existe) ── */
  .bottom-nav {
    position:    fixed !important;
    bottom:      0 !important;
    left:        0 !important;
    right:       0 !important;
    z-index:     200 !important;
    background:  rgba(8,10,22,.97) !important;
    border-top:  1px solid rgba(212,160,50,.15) !important;
    backdrop-filter: blur(16px) !important;
    padding:     8px 8px calc(env(safe-area-inset-bottom) + 4px) !important;
    display:     flex !important;
    justify-content: space-around !important;
  }

  /* ── Modales ── */
  .modal-backdrop {
    align-items: flex-end !important;
    padding:     0 !important;
  }
  .modal {
    border-radius:  20px 20px 0 0 !important;
    max-height:     90dvh !important;
    overflow-y:     auto !important;
    width:          100% !important;
    padding:        24px 20px 36px !important;
    animation:      slide-up .25s ease !important;
  }
  @keyframes slide-up {
    from { transform: translateY(100%); opacity: .5; }
    to   { transform: translateY(0);    opacity: 1; }
  }

  /* ── Toast / notificación push ── */
  .sbltt-toast,
  .notification-toast {
    left:          12px !important;
    right:         12px !important;
    bottom:        80px !important;   /* encima del bottom nav */
    top:           auto !important;
    max-width:     100% !important;
    border-radius: 16px !important;
    font-size:     13px !important;
  }

  /* ── Ocultar elementos innecesarios en móvil ── */
  .desktop-only,
  .hide-mobile {
    display: none !important;
  }

  /* ── Página título ── */
  .page-title {
    font-size:   20px !important;
    line-height: 1.2 !important;
  }
}

/* ─── Pantallas muy pequeñas (< 390px = iPhone SE, Galaxy A) ─── */
@media (max-width: 390px) {
  .portfolio-total      { font-size: 24px !important; }
  .topbar-brand         { font-size: 13px !important; }
  .action-btn           { font-size: 10px !important; padding: 8px 4px !important; }
  .action-btn .action-icon { font-size: 18px !important; }
  .container,
  .container-narrow     { padding: 0 10px !important; }
  .card                 { padding: 14px !important; }
  .staking-hero h1,
  .bloqueo-hero h1      { font-size: 20px !important; }
  .period-selector      { grid-template-columns: repeat(3, 1fr) !important; }
  .period-btn           { font-size: 11px !important; padding: 8px 4px !important; }
  .quick-amount-btn     { font-size: 11px !important; padding: 5px 10px !important; }
}

/* ─── Evitar el split blanco horizontal en CUALQUIER tamaño ─── */
@media (max-width: 480px) {
  html, body {
    overflow-x: hidden !important;
    max-width:  100vw !important;
  }
  .auth-split,
  .auth-screen {
    overflow-x: hidden !important;
  }
}
