/* Subite — Pulido premium v2 (pasajero + conductor) */

/* Marco tipo dispositivo en desktop */
@media (min-width: 431px) {
  .phone-frame{
    border-radius:28px;
    box-shadow:
      0 0 0 1px rgba(15,23,42,0.06),
      0 25px 80px rgba(15,23,42,0.18),
      0 8px 24px rgba(33,150,243,0.08);
    margin-top:12px;
    margin-bottom:12px;
  }
}

/* Splash cinematográfico */
#screen-splash{
  background:linear-gradient(165deg,#0d47a1 0%,#1565C0 35%,#1976D2 65%,#00bcd4 100%)!important;
}
.splash-logo,.splash-brand{
  filter:drop-shadow(0 8px 24px rgba(0,0,0,0.25));
}
.splash-name{
  text-shadow:0 4px 20px rgba(0,0,0,0.2);
}
.splash-loader,.splash-loader-bar{
  box-shadow:0 0 20px rgba(255,255,255,0.15);
}

/* Login premium */
.login-hero,.login-bg{
  position:relative;
  overflow:hidden;
}
.login-hero::before,.login-bg::before{
  content:'';
  position:absolute;
  width:200px;height:200px;
  border-radius:50%;
  background:rgba(255,255,255,0.12);
  top:-60px;right:-40px;
  filter:blur(2px);
}
.login-hero-logo,.login-logo{
  box-shadow:0 8px 28px rgba(0,0,0,0.2);
  position:relative;z-index:1;
}
.login-heading{
  letter-spacing:-0.03em;
}

.demo-note{
  margin:0 0 1rem;
  padding:1rem 1.1rem;
  border-radius:16px;
  border:1px solid rgba(33,150,243,0.25);
  background:linear-gradient(135deg,rgba(227,242,253,0.98) 0%,rgba(255,255,255,0.95) 100%);
  font-size:0.76rem;
  color:var(--text2);
  line-height:1.5;
  box-shadow:0 6px 20px rgba(21,101,192,0.1),inset 0 1px 0 rgba(255,255,255,0.8);
}
.demo-note summary{
  list-style:none;
  cursor:pointer;
}
.demo-note summary::-webkit-details-marker{display:none}
.demo-note strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--blue2);
  font-size:0.8rem;
  font-weight:800;
}
.demo-note strong::before{
  content:'';
  width:8px;height:8px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  box-shadow:0 0 8px rgba(33,150,243,0.5);
}

.btn-blue,.btn-main{
  letter-spacing:0.02em;
  background:linear-gradient(135deg,#42a5f5 0%,#1e88e5 45%,#1565C0 100%)!important;
  box-shadow:0 8px 24px rgba(33,150,243,0.4),0 2px 8px rgba(21,101,192,0.2),inset 0 1px 0 rgba(255,255,255,0.25)!important;
  transition:transform 0.2s,box-shadow 0.2s!important;
}
.btn-blue:hover,.btn-main:hover{
  box-shadow:0 12px 32px rgba(33,150,243,0.45)!important;
}
.btn-blue:active,.btn-main:active{
  transform:scale(0.97)!important;
}

.form-input{
  transition:border-color 0.2s,box-shadow 0.2s,background 0.2s;
}
.form-input:focus{
  border-color:var(--blue)!important;
  box-shadow:0 0 0 4px var(--blue-dim)!important;
  background:#fff!important;
}

.social-btn{
  transition:all 0.2s cubic-bezier(0.4,0,0.2,1);
  border-radius:12px!important;
}
.social-btn:hover{
  border-color:var(--blue);
  background:var(--blue-light)!important;
}
.social-btn:active{transform:scale(0.97);}

/* Mapa y home */
.map-topbar{
  background:linear-gradient(180deg,rgba(255,255,255,0.97) 0%,rgba(255,255,255,0) 100%)!important;
}
.map-topbar-inner{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 10px 32px rgba(15,23,42,0.1)!important;
  border:1px solid rgba(255,255,255,0.85)!important;
  border-radius:18px!important;
}
.map-greeting{
  border-radius:18px!important;
  box-shadow:0 6px 20px rgba(15,23,42,0.08)!important;
  transition:transform 0.2s,box-shadow 0.2s!important;
}
.map-greeting:hover{
  box-shadow:0 10px 28px rgba(33,150,243,0.15)!important;
}
.avatar-sm{
  box-shadow:0 4px 12px rgba(33,150,243,0.35);
}

.bottom-drawer{
  border-radius:24px 24px 0 0!important;
  box-shadow:0 -12px 48px rgba(15,23,42,0.16)!important;
  border-top:1px solid rgba(255,255,255,0.9)!important;
}
.drawer-handle{
  background:linear-gradient(90deg,var(--border),var(--border2),var(--border))!important;
  width:44px!important;
}
.dest-card,.quick-dest{
  transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;
}
.dest-card:active,.quick-dest:active{
  transform:scale(0.98);
}

/* Bottom nav pasajero */
.bottom-nav{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  background:rgba(255,255,255,0.94)!important;
  border-top:1px solid rgba(226,232,240,0.9)!important;
  box-shadow:0 -8px 32px rgba(15,23,42,0.08)!important;
  padding-bottom:max(1.5rem,env(safe-area-inset-bottom))!important;
}
.nav-tab.active .n-lbl{
  font-weight:800;
}
.nav-tab.active .n-ico{
  transform:scale(1.08);
  transition:transform 0.2s;
}

/* Búsqueda y elegir viaje */
.search-bar{
  border-radius:14px!important;
  box-shadow:0 4px 16px rgba(33,150,243,0.12)!important;
}
.suggestion-item{
  border-radius:12px;
  margin:0 0.5rem;
  width:calc(100% - 1rem);
}
.suggestion-item:active{
  background:var(--blue-light)!important;
}
.ride-option{
  transition:all 0.25s cubic-bezier(0.4,0,0.2,1)!important;
}
.ride-option.selected,.ride-option:active{
  border-color:var(--blue)!important;
  box-shadow:0 8px 28px rgba(33,150,243,0.18)!important;
  transform:translateY(-2px);
}
.eta-badge{
  box-shadow:0 2px 8px rgba(16,185,129,0.2);
}

/* Viaje en curso */
.trip-status-bar{
  box-shadow:0 4px 16px rgba(15,23,42,0.08);
}
.trip-stat{
  border-radius:14px;
  background:linear-gradient(180deg,#fff,var(--surface));
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}

/* Perfil e historial */
.profile-header,.history-item{
  transition:transform 0.15s;
}
.history-item:active{
  transform:scale(0.99);
}

/* Toast */
#toast-container .toast,
.toast-msg{
  backdrop-filter:blur(12px);
  box-shadow:0 12px 40px rgba(15,23,42,0.2)!important;
  border-radius:14px!important;
}

/* ===== CONDUCTOR ===== */
#screen-splash.splash-driver,#screen-splash{
  background:linear-gradient(165deg,#0d47a1,#1565C0,#2196F3)!important;
}
.incoming-ping{
  border-radius:16px!important;
  box-shadow:0 12px 40px rgba(16,185,129,0.35)!important;
  font-weight:800!important;
  letter-spacing:0.02em;
  animation:ping-pop 0.5s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes ping-pop{
  from{transform:translateX(-50%) scale(0.8);opacity:0}
  to{transform:translateX(-50%) scale(1);opacity:1}
}
.earnings-highlight{
  border-radius:20px!important;
  box-shadow:0 12px 36px rgba(16,185,129,0.2)!important;
}
.request-sheet,.trip-sheet{
  border-radius:24px 24px 0 0!important;
  box-shadow:0 -16px 48px rgba(15,23,42,0.18)!important;
}
.d-bottom-nav,.dnav-bar{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  background:rgba(255,255,255,0.95)!important;
  box-shadow:0 -8px 32px rgba(15,23,42,0.1)!important;
}
.dnav-tab.active .dnav-lbl,.dnav-tab.active .dnav-ico{
  color:var(--blue)!important;
}
.dnav-tab.active .dnav-dot{
  opacity:1!important;
  box-shadow:0 0 8px var(--blue);
}
.btn-accept,.btn-main.accept{
  background:linear-gradient(135deg,#22c55e,#16a34a)!important;
  box-shadow:0 8px 24px rgba(34,197,94,0.35)!important;
}
.screen-back-btn,.map-back{
  backdrop-filter:blur(8px);
  transition:transform 0.15s,box-shadow 0.15s;
}
.screen-back-btn:active,.map-back:active{
  transform:scale(0.92);
}

.legal-watermark{
  opacity:0.88;
  transition:opacity 0.2s,transform 0.2s;
}
.legal-watermark:hover{
  opacity:1;
}

/* Pantallas clave pasajero */
#screen-driver-found .df-card,
.driver-card-wrap{
  border-radius:20px;
  box-shadow:0 12px 36px rgba(15,23,42,0.12);
}
.trip-status-bar{
  background:linear-gradient(90deg,var(--blue2),var(--blue),var(--cyan))!important;
  color:#fff!important;
}
.arrived-hero,.rate-hero{
  background:linear-gradient(160deg,var(--blue2),var(--blue))!important;
}
.profile-header{
  background:linear-gradient(160deg,var(--blue2) 0%,var(--blue) 60%,var(--cyan) 100%)!important;
}
.history-item{
  border-radius:14px;
  border:1px solid var(--border);
  margin-bottom:8px;
  transition:background 0.2s,transform 0.15s;
}
.history-item:active{background:var(--blue-light)}

/* Conductor premium */
.incoming-ping{
  background:linear-gradient(135deg,#059669,#10b981)!important;
  border:1px solid rgba(255,255,255,0.2);
}
.earnings-highlight{
  background:linear-gradient(135deg,rgba(16,185,129,0.12),rgba(255,255,255,0.95))!important;
}
.dnav-tab{
  transition:color 0.2s,transform 0.15s;
}
.dnav-tab.active{
  transform:translateY(-2px);
}
.request-sheet .btn-accept,
.trip-actions .btn-main{
  font-weight:800!important;
  letter-spacing:0.02em;
}
#screen-home .bottom-drawer{
  border-radius:24px 24px 0 0!important;
}
.quick-dests{
  scrollbar-width:none;
}
.quick-dests::-webkit-scrollbar{display:none}
